• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2009-6-22 10:41 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 43次 | 进入软件测试论坛讨论

领测软件测试网

</cargo>

<antcall target="_run-system-tests"/>

<cargo containerId="tomcat5x" action="stop"
       refid="${tomcat-refid}"/>                       

</target>       


    清单 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 封装起来,容器管理问题就会迎刃而解!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

44/4<1234

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网