快速业务通道

追求代码质量 - 可重复的系统测试 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
;   <configuration type="standalone" home="${tomcatdir}">    <property name="cargo.remote.username" value="admin"/>    <property name="cargo.remote.password" value=""/>    <deployable type="war" file="${wardir}/${warfile}"/>   </configuration>   </cargo>   <antcall target="_run-system-tests"/>   <cargo containerId="tomcat5x" action="stop"      refid="${tomcat-refid}"/> </target>

追求代码质量 - 可重复的系统测试(6)

时间:2010-12-09 IBM Andrew Glover

清单 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(尽管样例代码是用

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号