单元测试工具NoBug、JSpec、ScalaTest、Kaputt介绍

以下为你介绍的单元测试工具都可用在Linux系统上:NoBug(C/C++代码诊断库)、JSpec(JavaScript测试框架)、ScalaTest(Java与Scala测试)、Kaputt(Caml语言测试工具)。

1、NoBug(C/C++代码诊断库)

NoBug是一个为C/C++提供断言、日志记录、Annotation功能的库。它包括pre-/post-condition和常量检查,以及泛型诊断。NoBuy是在编译的时候进行检查的,可避免运行时的错误。

2、JSpec(JavaScript测试框架)

JSpec非常小,但却是一个很强大的测试框架。JSpec可以在利用其自定义的语法和预处理器进行操作,这是其他的JavaScript测试框架所不能的。它还包括许多有用的速记 literal,一个直观/可读的语法,对核心prototype无污染,支持异步请求。

JSpec也可以运行多种方式,例如:通过 terminal与Rhino的支持。通过browsers使用DOM或Console formatters。通过使用Ruby JavaScript的服务器在后台运行浏览器,再汇报到terminal。

部分特性:

支持异步、支持Node.js、支持Rhino、支持Dom sandbox、集成Ruby on Rails。

3、ScalaTest(Java与Scala测试)

单元测试工具NoBug、JSpec、ScalaTest、Kaputt介绍

Scala Test 是一个开源测试框架。ScalaTest旨在令测试更加高效。其开发者Bill Venners(Artima主编,同时也是资深的程序员)这样描述到:

“ScalaTest是比JUnit和TestNG更加高阶的测试编写工具,这个Scala应用在JVM上运行,可以测试Scala以及Java代码。除了与JUnit 和TestNG的深层集成,同时还支持Ant任务,与maven集成,并包括了流行的Java mocking框架JMock、EasyMock以及Mockito的语法增强。通过JUnit集成,ScalaTest可以轻松地在Eclipse、NetBeans以及IntelliJ IDEA等IDE,以及Infinitest等生产工具中使用。

使用ScalaTest,您可以测试Scala,Scala.js(JavaScript)和Java代码。通过与JUnit,TestNG,Ant,Maven,sbt,ScalaCheck,JMock,EasyMock,Mockito,ScalaMock,Selenium,Eclipse,NetBeans和IntelliJ等工具进行深度集成,ScalaTest可以轻松地将您的测试提高到更高,更多新的或现有的Scala,Scala.js或Java项目中的生产级别。

像构建它的Scala语言一样,ScalaTest旨在根据其用户的需求进行扩展:您可以轻松扩展和组成ScalaTest的核心组件,以解决您可能有的任何特殊要求。结果,ScalaTest可以扩展到各种规模的项目,从个人探索新想法到大型团队在关键任务软件上进行协作。

ScalaTest缩减规模的一种方法是,尽管拥有丰富的功能集,ScalaTest仍然易于使用。根据您从其他测试框架的经验中学到的知识,可以非常迅速地使用ScalaTest进行工作。为了最大化您的生产力,ScalaTest使用其自己的扩展点来支持多种开箱即用的测试样式。您可以选择最适合您团队经验和文化的风格。

简而言之,ScalaTest是一个工作台,其中提供了许多小型的,有针对性的工具,您可以将它们组合在一起以解决您今天所面临的问题,但随着明天需求的变化而与您一同成长。

测试代码:

import org.scalatest.FlatSpec

import org.scalatest.matchers.ShouldMatchers

class StackSpec extends FlatSpec with ShouldMatchers {

"A Stack" should "pop values in last-in-first-out order" in {

val stack = new Stack[Int]

stack.push(1)

stack.push(2)

stack.pop() should equal (2)

stack.pop() should equal (1)

}

it should "throw NoSuchElementException if an empty stack is popped" in {

val emptyStack = new Stack[String]

evaluating { emptyStack.pop() } should produce [NoSuchElementException]

}

}

下载地址:http://www.scalatest.org/

4、Kaputt(Caml语言测试工具)

Kaputt 是 Objective Caml 编程语言的测试工具,基于断言的测试,类似 JUnit。

Kaputt具有四种测试:

基于断言的测试,灵感来自xUnit工具。

基于规范的测试,灵感来自QuickCheck工具。

受SmallCheck工具启发的基于枚举的测试。

基于shell的测试。

在编写基于断言的测试时,开发人员对输入值进行编码,并检查输出值是否满足给定的断言。在编写基于规范或基于枚举的测试时,开发人员对被测函数的规范进行编码,然后请求库生成要对照规范进行测试的随机值。最后,基于shell几乎不能替代shell脚本执行程序并将其输出与先前检查的参考进行比较。

下载地址:http://kaputt.x9c.fr/

注明

以上就是单元测试工具NoBug、JSpec、ScalaTest、Kaputt的介绍内容,这些单元测试工具都能使用在Linux操作系统中。

栏目相关文章