zoukankan      html  css  js  c++  java
  • JUnit 4.x 知识点

    注解

    @Test: 测试方法,在这里还可以测试期望异常和超时时间。
    @Before: 每个测试方法执行之前执行的方法。
    @BeforeClass: 一个测试类中所有测试方法执行之前执行的方法,只执行一次,<b>且方法必须为static的。</b>
    @After: 每个测试方法执行之后执行的方法。
    @AfterClass: 一个测试类中所有测试方法执行之后执行的方法,只执行一次,<b>且方法必须为static的。</b>
    @Ignore: 忽略的测试方法。
    @RunWith: 指定测试类使用某个运行器。
    @Parameters: 参数化测试,指定测试类的测试数据集合。
    @FixMethodOrder: 注解在测试类上指定测试方法按一定顺序规则来执行,有三种。
    

    一个测试类单元测试的执行顺序为:

    @BeforeClass –> @Before –> @Test –> @After –> @AfterClass

    每一个测试方法的执行顺序为:

    @Before –> @Test –> @After

    断言

    断言是编写测试用例的核心实现方式,即期望值是多少,测试的结果是多少,以此来判断测试是否通过。
    JUnit4.x中的断言核心方法如下:

    assertArrayEquals(expecteds, actuals): 查看两个数组是否相等。
    assertEquals(expected, actual): 查看两个对象是否相等。类似于字符串比较使用的equals()方法。
    assertNotEquals(first, second): 查看两个对象是否不相等。
    assertNull(object): 查看对象是否为空。
    assertNotNull(object): 查看对象是否不为空。
    assertSame(expected, actual): 查看两个对象的引用是否相等。类似于使用“==”比较两个对象。
    assertNotSame(unexpected, actual): 查看两个对象的引用是否不相等。类似于使用“!=”比较两个对象。
    assertTrue(condition): 查看运行结果是否为true。
    assertFalse(condition): 查看运行结果是否为false。
    assertThat(actual, matcher): 查看实际值是否满足指定的条件。
    fail(): 让测试失败。
    

    套件测试

    测试套件意味着捆绑几个单元测试用例并且一起执行他们。在 JUnit 中,@RunWith和@Suite注释用来运行套件测试。

    参数化测试

    一个测试类也可以被看作是一个参数化测试类。但它要满足下列所有要求:

    1. 该类被注解为@RunWith(Parameterized.class)。
    2. 这个类有一个构造函数,存储测试数据。
    3. 这个类有一个静态方法生成并返回测试数据,并注明@Parameters注解。
    4. 这个类有一个测试,它需要注解@Test到方法。

    异常测试

    它用于测试由方法抛出的异常。@Test(expected = ArithmeticException.class)

    超时测试

    超时测试是指,一个单元测试运行时间是否超过指定的毫秒数,测试将终止并标记为失败。@Test(timeout = 1000)

    出处:https://blinkfox.github.io/2018/11/15/hou-duan/java/dan-yuan-ce-shi-zhi-nan/#toc-heading-4

  • 相关阅读:
    hdu--2578--与女孩约会
    hdu--2588--欧拉函数||容斥原理
    hdu--2586--lca_tarjan<证明tarjan这个人很流弊>
    hdu--3743--归并排序<自顶向下&&自底向上>2种写法
    hdu--4911--归并排序||树状数组
    hdu--2639--01背包第K解<不同决策的不同解法>
    hdu--2642--二维BIT
    hdu--3833--4000ms才能过的O(N^2)算法
    hdu--3835--最简单的数学..
    hdu--3836--tarjan+缩点
  • 原文地址:https://www.cnblogs.com/cag2050/p/11320837.html
Copyright © 2011-2022 走看看