快速业务通道

扩展JUnit4以促进测试驱动开发 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
filtered.add(each);        }      }      return filtered;    }    protected boolean shouldRun(FrameworkMethod method) {      List<Boolean> result = new ArrayList<Boolean>();      Annotation[] classAnnotations = method.getAnnotations();      Map<Class<?>,Annotation> methodAnnotationMap =        getAnnotaionTypeMap(classAnnotations);      Set<Class<?>> annotationKeys = filtersForAnnotation.keySet ();      for(Class<?> annotationKey : annotationKeys ){        if(methodAnnotationMap.containsKey(annotationKey)){          List<Filter> filters = filtersForAnnotation.get (annotationKey);          if (filters != null) {            for (Filter filter : filters) {              if (filter != null                  && filter.shouldRun(                  IntentionFactory.createIntentionObject(                  methodAnnotationMap.get(annotationKey)))) {                result.add(true);              }else{                result.add(false);              }            }          }        }else{          return false;        }      }      if(result.contains(false)){        return false;      }else{        return true;      }       ……………………    } }

扩展JUnit4以促进测试驱动开发(6)

时间:2011-10-02 ibm 左超

通过测试用例实例展示 JUnit 扩展的执行效果

1)创建一个 Java 项目,添加对 JUnit4 扩展的引用。项目的结构如下:

图 5. JUnit4 扩展示例程序的项目结构

2)创建一个简单的待测试类 Demo 类。

清单 6. 待测试类

public class Demo {    public int add(int a, int b){      return a + b;    }    public int minus(int a, int b){      return a - b;    } }

3)创建一个 JUnit4 风格的测试用例 DemoTest 类,对上述 Demo 类的方法编写测试,并将我们自定 义的 Annotation 元数据嵌入到 DemoTest 的测试方法中。

清单 7. 包含了自定义 Annotation 的测试用例

public class DemoTest {    @Test     @Feature("Test Add Feature")    @Release("9.9")    public void testAdd() {      Demo d = new Demo();      Assert.assertEquals(4, d.add(1, 2));    }    @Test     @Release("9.9")    public void testMinus() {      Demo d = new Demo();      Assert.assertEquals(2, d.minus(2, 1));    } }

扩展JUnit4以促进测试驱动开发(7)

时间:2011-10-02 ibm 左超

4)编写 Main 类来执行测试用例,输入自定义的执行测试用例的条件“Release=9.9,Feature=Test Add Feature”,来执行 9.9 Release 中跟 Add Feature 相关的测试用例方法,而不执行跟 Minus Feature 相关的测试用例方法。

清单 8. 调用 JUnit4 扩展来执行测试用例

public class Main {    public static void main(String... args

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号