WEB开发网
开发学院软件开发Java 追求代码质量: 可重复的系统测试 阅读

追求代码质量: 可重复的系统测试

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 清单 8 定义测试目标,称作 _run-system-tests,追求代码质量: 可重复的系统测试(8),请注意此任务只 运行置于 test/system 目录下的系统测试,例如,Cargo 管理容器环境,所以您就可以不用管理,清单 2 中定义的测试用例就位于这个目录下,清单 8. 通过 Ant

清单 8 定义测试目标,称作 _run-system-tests。请注意此任务只 运行置于 test/system 目录下的系统测试。例如,清单 2 中定义的测试用例就位于这个目录下。


清单 8. 通过 Ant 运行 JUnit
<target name="_run-system-tests"> 
 <mkdir dir="${testreportdir}"/>  
 <junit dir="./" failureproperty="test.failure" 
    printSummary="yes" fork="true" 
 haltonerror="true"> 
 <sysproperty key="basedir" value="."/>   
 <formatter type="xml"/>    
 <formatter usefile="false" type="plain"/>   
 <classpath> 
  <path refid="build.classpath"/>    
  <pathelement path="${testclassesdir}"/> 
  <pathelement path="${classesdir}"/>    
 </classpath> 
 <batchtest todir="${testreportdir}"> 
  <fileset dir="test/system"> 
  <include name="**/**Test.java"/> 
  </fileset> 
 </batchtest> 
 </junit> 
</target> 

在 清单 7 中,完整地配置了 Ant 构建文件,从而将系统测试与 Cargo 部署封装在一起。清单 7 中的代码确保了清单 8 中 test/system 目录下的所有系统测试都是逻辑上可重复的。可以在任何时间里在任何机器上运行这些系统测试,对于连续集成环境尤佳。该测试对容器未做任何假设 —— 未对位置做假设,甚至未对其是否运行做假设!(当然,这些测试仍做了一个假设,我没有强调,即潜在的数据库是配置良好且在运行中的。但那又是另一个要讨论的主题了。)

可重复的结果

在清单 9 中,可以看到工作的成果。当将 system-test 命令发布到 Ant 构建后,就会执行系统测试。Cargo 处理管理所选容器的所有细节,不需要对测试环境作出绝对重复性假设。


清单 9. 增强的构建
war: 
 [war] Building war: C:\dev\projects\acme\target\widget.war 
 
system-test: 
 
_run-system-tests: 
 [mkdir] Created dir: C:\dev\projects\acme\target\test-reports 
 [junit] Running test.come.acme.widget.Web.RepeatableWordCreationTest 
 [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 4.53 sec 
 [junit] Testcase: testWordCreation took 4.436 sec 
 
BUILD SUCCESSFUL 
Total time: 1 minute 2 seconds 

请记住,Cargo 也在 Maven 构建中起作用。另外,从正常的应用程序到测试用例,Cargo Java API 都有助于容器的程序化管理。且 Cargo 不仅适用于 JUnit(尽管样例代码是用 JUnit 写的),TestNG 用户将会很高兴地了解到 Cargo 对其测试套件也起作用。事实上,测试用什么编写并不重要,重要的是将它们同 Cargo 封装起来,容器管理问题就会迎刃而解!

结束语

您的测试是否在逻辑上可重复由您来决定,但是通过本文您确实看到 Cargo 的确很有用处。Cargo 管理容器环境,所以您就可以不用管理。将 Cargo 包含到您的测试例程中 —— 这毫无疑问会减轻您构造用于验证 Web 应用程序的可重复测试的负担。

上一页  3 4 5 6 7 8 

Tags:追求 代码 质量

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