java知识积累——单元测试和JUnit(二)

首先来复习一下几个重要知识点,然后接着进行一些介绍。在上一篇文章中,我曾经贴过下面这张图片:

在Which method stubs would you like to create?这里,现在结合4个标注的含义来说明一下:

@BeforeClass 标注的方法会在类加载的时候执行一次,且仅此一次,该方法必须是public和static的

@AfterClass 标注的方法会在类销毁的时候执行一次,且仅此一次,网站空间,该方法必须是public和static的

@Before 标注的方法会在每个测试方法执行前先执行一次

@After 标注的方法会在每个测试方法执行结束后执行一次

以上四个标注,对应了那个勾选列表中的四个方法,可以在创建测试类时根据具体情况进行勾选。

在测试过程中,可能需要针对一个方法的不同临界值进行多组数据的测试。下面给出这种情况下的测试方法:

在上一遍文章中的例子中,虚拟主机,Calculator类的square方法需要针对正数、负数、零3种情况进行测试。所以我们如下进行,首先在Calculator类上右键new一个JUint Test Case,起名为CalculatorSquareTest,然后该类的代码修改如下:

1 package org.logback.test;org.junit.Assert.*; java.util.Arrays; 6 import java.util.Collection; org.junit.Before; 9 import org.junit.Test;10 import org.junit.runner.RunWith;11 import org.junit.runners.Parameterized;12 import org.junit.runners.Parameterized.Parameters;13 14 @RunWith(Parameterized. class ) CalculatorSquareTest {Calculator example = new Calculator(); param; result; Collection data(){25return Arrays.asList(new Object[][]{26{2,4},27{0,0},28{-3,9},29 });30 }3132 @BeforesetUp() throws Exception {34 example.clear();35 }36 37 @Test testSquare() {39 example.square(param);40 assertEquals(result, example.getResult());41 }CalculatorSquareTest(int param,int result){45this.param = param;46this.result = result;47 }48 49 },香港服务器第一个青春是上帝给的;第二个的青春是靠自己努力的

java知识积累——单元测试和JUnit(二)

相关文章:

你感兴趣的文章:

标签云: