Java基础回顾 —Junit

Junit3.8 的最佳实践:

  1. 测试类必须要继承TestCase,且要注意
    • sds
    • public
    • void
    • 无方法参数
    • 方法名必须以test打头
  2. Test Case 之间一定要保持完全的独立性,不允许出现任何依赖关系。
  3. 不能依赖于测试方法的执行顺序。
  4. 关于setUp与tearDown方法的执行顺序:
    setUp() ——> testXxx() ——> tearDown() ——>setUp()——>testXxx()——>tearDown()
  5. 私有类测试方法时:
    • 修改访问修饰符,将private修改为default 或者 public (不推荐)。
    • 采用反射在测试类中调用目标类的私有方法。
  6. TestSuite (测试套件) : 可以将多个测试组合到一起,同时执行多个测试。
    • suite()方法是static的。
  7. RepeatedTest :
    • 目标测试类必须实现带参数构造方法。
    • repeate的是测试类的某一个方法。不是整个测试类。

Junit4 的最佳实践:

  1. Junit4 全面引入Annotation来执行编写的测试类。
  2. Junit4 不要求测试类继承TestCase父类。
  3. 在一个测试类中,所有被@Test注解所修饰的 public, void 的方法都是test case
  4. Junit4 不要求测试方法名以test开头,但是我们最好按照3.8的要求,以test作为测试方法名的开头。
  5. Junit4 中,通过 @Before 注解来实现与Junit 3.8 中的setUp() 方法同样的功能,通过 @After 注解实现与Junit 3.8 中的tearDown() 方法同样的功能。
  6. Junit4 中,可以使用 @BeforeClass 与 @AfterClass 注解修饰一个public static void no-args 的方法,这样被 @BeforeClass 修饰的方法会在所有测试方法执行之前执行;被 @AfterClass 注解所修饰的方法会在所有测试方法执行之后执行。
  7. @Ignore 注解可以用于修饰测试类与测试方法。
    • 当修饰测试类时,表示忽略掉类中的所有测试方法;
    • 当修饰方法时,表示忽略该测试方法。
  8. 参数化测试 (Parameterized):当一个测试类使用参数化运行器运行时,需要在类的声明处加上 @RunWIth(Parameterized.class) 注解,表示该类将不使用Junit 内建的运行器运行,而使用参数化运行器运行;在参数化运行类中提供参数的方法上要加@Parameters 注解来修饰,同时在测试类的构造方法中为各个参数赋值(构造方法是由Junit调用的),最后编写测试类,它会根据参数的组数来运行测试多次。
  9. Junit 4 中,如果想要同时运行多个测试(TestSuit),需要使用两个注解:@RunWith(Suite.class) 以及 @SuiteClass({}),通过这两个注解分别指定Suite运行器来运行测试,以及指定了哪些测试类,其中 @SuiteClass 中可以继续指定Suite,这样Junit会再去寻找里面的测试类,一直找到能够执行的TestCase并执行。
posted @ 2017-04-11 13:25  涣涣虚心  阅读(133)  评论(0编辑  收藏  举报