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

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

让开发自动化: 断言架构可靠性

发布: 2008-6-24 14:42 | 作者: 不详 | 来源: 测试时代编辑整理 | 查看: 46次 | 进入软件测试论坛讨论

领测软件测试网


清单 5. 判定包依赖关系违背
private boolean isEfferentsValid(String layer, Collection rules,
  boolean rulesCorrect, JavaPackage jPackage, String analyzedPackageName) {
  Collection efferents = jPackage.getEfferents();
  Iterator efferentItor = efferents.iterator();
  while (efferentItor.hasNext()) {
    JavaPackage efferentPackage = (JavaPackage) efferentItor.next();
 String efferentPackageName = efferentPackage.getName();
 for (Iterator it = rules.iterator(); it.hasNext();) {
   String value = (String) it.next();
   if (analyzedPackageName.equals(layer)
       && efferentPackageName.equals(value)) {
     rulesCorrect = false;
     System.out.println("TEST FAILURE: "
         + analyzedPackageName
       + " should not depend upon (have an efferent coupling to) "
       + efferentPackageName);
     break;
   }
    }
  }
  return rulesCorrect;
}
 


正如您所看到的,清单 2 到 5 实际上都是扫描一系列包以确定耦合变化;如果耦合发生了变化,失败条件被触发,因此 JUnit 报告测试失败。要让我说的话,这真是令人印象深刻!

别忘了自动运行测试

一旦您结合使用 JUnit 和 JDepend 编写好基于约束的测试后,您就能够用诸如 Ant 或 Maven 这样的工具把它作为构建过程的一部分运行。举例而言,清单 6 阐述了用 Ant 运行一系列此类测试。 test.dependency.dir 属性映射到 root/src/test/java/dependency 目录,其中包含了一些神奇的架构验证程序。


清单 6. 运行依赖性约束测试的 Ant 脚本

<target name="run-tests" depends="compile-tests">
  <mkdir dir="${logs.junit.dir}" />
  <junit fork="yes" haltonfailure="true" dir="${basedir}" printsummary="yes">
    <classpath refid="test.class.path" />
    <classpath refid="project.class.path"/>
    <formatter type="plain" usefile="true" />
    <formatter type="xml" usefile="true" />
    <batchtest fork="yes" todir="${logs.junit.dir}">
      <fileset dir="${test.dependency.dir}">
        <patternset refid="test.sources.pattern"/>
      </fileset>
    </batchtest>
  </junit>   
</target>
 


要使 JUnit 测试成功执行,JDepend JAR 必须出现在 Ant 的类路径中。 haltonfailure 属性被设为 true,以便让构建过程在测试失败时停止。

延伸阅读

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


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

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