开发者测试的那些事第二篇

测试小记

Posted by LJJ on November 1, 2019

测试小结

描述:使用Java,针对开发者测试。

Junit基本注解

  • @BeforeClass – 表示在类中的任意public static void方法执行之前执行
  • @AfterClass – 表示在类中的任意public static void方法执行之后执行
  • @Before – 表示在任意使用@Test注解标注的public void方法执行之前执行
  • @After – 表示在任意使用@Test注解标注的public void方法执行之后执行
  • @Test – 使用该注解标注的public void方法会表示为一个测试方法

我们这里看这样一段测试代码

public class OSTTest {
    private final OST<Integer> tree = new OST<>();
    private final TreeSet<Integer> set = new TreeSet<>();
    @Before
    public void before() {
        tree.clear();
        set.clear();
        //这里的两个类的clear()方法表示将其清空
    }
    @Test
    public void testAdd() {
        //这里是第一个测试类添加的方法
        assertEquals(set.isEmpty(), tree.isEmpty());
        for (int i = 10; i < 30; i += 2) {
            //以下有对类进行整形数据的添加
            assertTrue(tree.isHealthy());
            assertEquals(set.contains(i), tree.contains(i));
            assertEquals(set.add(i), tree.add(i));
            assertEquals(set.add(i), tree.add(i));
            assertEquals(set.contains(i), tree.contains(i));
            assertTrue(tree.isHealthy());
        }
        assertEquals(set.isEmpty(), tree.isEmpty());
    }
    @Test
    public void testClear() {
    //这里是第二个测试类清空的第二个方法
        for (int i = 0; i < 2000; ++i) {
            set.add(i);
            tree.add(i);
        } //这里是往类里添加了整形数据
        assertEquals(set.size(), tree.size());
        set.clear();
        tree.clear();
        assertEquals(set.size(), tree.size());
    }
}

简单解释一下,这里主要是针对@Before的用法,测试类中的两个public void 方法都有对类中添加数据。 但是由于@Before注写下的clear()方法可以对类中的数据进行清除。那么在@Test每一个测试方法执行前都会被clear一次。 从而可以说明该测试类中的测试方法都是独立的。