追求代码质量: 通过测试分类实现敏捷构建
2009-11-19 00:00:00 来源:WEB开发网系统测试和功能测试很相似。所不同的是,它们并不仿效用户,而是模拟出 一个用户。与在组件测试中一样,现在创建了大量的框架来为这些测试提供方便。例如,jWebUnit 通过模拟一个浏览器来测试 Web 应用程序。
用 jWebUnit 还是 Selenium 呢?
jWebUnit 是为系统测试设计的一个 JUnit 扩展框架;因而它需要您来编写测试。Selenium 在验收测试和功能测试方面表现卓越,不同于 jWebUnit,它使非程序员也能够编写测试。理想情况下,团队可以同时 使用两种工具来验证应用程序的功能。
实现测试分类
所以,您的单元测试套件就是名副其实的包括单元测试、组件测试和系统测试的套件。不仅如此,在检查了这些测试后,您现在知道构建花了三个小时的原因是:绝大部分时间都被组件测试所占用。下一个问题是,如何用 JUnit 实现测试分类?
有几种方式可选,但这里我们只关注于其中两种最简单的方式:
根据所需种类创建定制的 JUnit 套件文件。
为每种测试类型创建定制目录。
用 TestNG 进行测试分类
用 TestNG 实现测试分类相当简单。用 TestNG 的 group 注释按照种类在逻辑上划分测试,这与将适当的 group 注释应用到所需测试中一样简单。这样一来,运行一个特定类型实际上就是将一个相应的组名称传递给一个测试运行程序,如 Ant。
创建定制套件
可以使用 JUnit 的 TestSuite 类(属于 Test 类型)来定义许多互相归属的测试。首先,创建一个 TestSuite 实例,并为其添加相应的测试类或测试方法。然后,可以通过定义一个叫做 suite() 的 public static 方法,在 TestSuite 实例中指定 JUnit。包含的所有测试随后将在单个运行中执行。因而,可以通过创建单元 TestSuite、组件 TestSuite 和系统 TestSuite 来实现测试分类。
更多精彩
赞助商链接