二 【单元测试】Junit 4--eclipse配置Junit+Junit基础注解( 三 )

1.2.4 控制用例执行顺序相关的注解1.2.4.1 @FixMethodOrder控制测试方法的执行顺序的 。
该注解的参数是org.junit.runners.MethodSorters对象 。
枚举类org.junit.runners.MethodSorters中定义三种顺序类型:
MethodSorters.JVM:按照JVM得到的方法顺序,即代码中定义的方法顺序 。
MethodSorters.DEFAULT:默认的顺序,以确定但不可预期的顺序执行 。
【二 【单元测试】Junit 4--eclipse配置Junit+Junit基础注解】MethodSorters.NAME_ASCENDING:按方法名字母顺序执行 。
1.2.5 自定义规则Rule相关的注解1.2.5.1 @Rule和@ClassRule

  1. 什么是Rule实现
    Rule是一组实现了TestRule接口的共享类,提供了验证,监视TestCase和外部资源管理等能力 。
    即,提供了测试用例执行过程中一些通用功能的共享能力,使不必重复编写一些功能类似的代码 。
  2. JUnit4中包含两个注解:@Rule和@ClassRule
    用于修饰Field或返回Rule的Method 。
两者作用域不同:
  • @Rule的作用域是测试方法 。
  • @ClassRule则是测试Class 。
1.2.5.2 JUnit提供了以下几个Rule实现,必要时也可以自己实现Rule
  • Verifier:验证测试执行结果的正确性 。
  • ErrorCollector:收集测试方法中出现的错误信息,测试不会中断,如果有错误发生,测试结束后会标记失败 。
  • ExpectedException:提供灵活的异常验证功能 。
  • Timeout:用于测试超时的Rule 。
  • ExternalResource:外部资源管理 。
  • TemporaryFolder:在JUnit的测试执行前后,创建和删除新的临时目录 。
  • TestWatcher:监视测试方法生命周期的各个阶段 。
  • TestName:在测试方法执行过程中提供获取测试名字的能力 。

经验总结扩展阅读