WEB开发网
开发学院软件开发Java 追求代码质量: JUnit 4 与 TestNG 的对比 阅读

追求代码质量: JUnit 4 与 TestNG 的对比

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 实际上,您可以通过清单 2 中的 Web 测试的例子自己看到这点,追求代码质量: JUnit 4 与 TestNG 的对比(6),verifyLogIn() 方法失败时,TestNG 自动创建一个 testng-failed.xml 文件,甚至有可能会得到不同的结果,这种技术完美地避免了只能 假

实际上,您可以通过清单 2 中的 Web 测试的例子自己看到这点。verifyLogIn() 方法失败时,TestNG 自动创建一个 testng-failed.xml 文件。该文件将成为如清单 4 所示的替代性测试套件:


清单 4. 失败测试的 XML 文件
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite thread-count="5" verbose="1" name="Failed suite [HistoryTesting]" 
    parallel="false" annotations="JDK5"> 
 <test name="test.com.acme.ceg.AccountHistoryTest(failed)" junit="false"> 
 <classes> 
  <class name="test.com.acme.ceg.AccountHistoryTest"> 
  <methods> 
   <include name="verifyLogIn"/> 
  </methods> 
  </class> 
 </classes> 
 </test> 
</suite> 

运行小的测试套件时,这个特性似乎没什么大不了。但是如果您的测试套件规模较大,您很快就会体会到它的好处。

参数化测试

TestNG 中另一个有趣的特性是参数化测试。在 JUnit 中,如果您想改变某个受测方法的参数组,就只能给每个 不同的参数组编写一个测试用例。多数情况下,这不会带来太多麻烦。然而,我们有时会碰到一些情况,对其中的业务逻辑,需要运行的测试数目变化范围很大。

在这样的情况下,使用 JUnit 的测试人员往往会转而使用 FIT 这样的框架,因为这样就可以用表格数据驱动测试。但是 TestNG 提供了开箱即用的类似特性。通过在 TestNG 的 XML 配置文件中放入参数化数据,就可以对不同的数据集重用同一个测试用例,甚至有可能会得到不同的结果。这种技术完美地避免了只能 假定一切正常的测试,或是没有对边界进行有效验证的情况。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接