测试方法名称必须以test开头,没有参数,无返回值,是公开的,可以抛异常
Junit注解的执行顺序依次是@BeforeClass -> @Before -> @Test -> @After -> @Before -> @Test -> @After -> @AfterClass
第一步:
打开eclipse.exe,创建一个名为“projectA”的工项目,创建一个名为”Calculator”的类。写几个方法:两数+ - * 的方法和返回结果的方法。
代码如下:
private int result = 1;
public int add(int n){
return result + n;
}
public int jian(int n){
return result - n;
}
public int cheng(int n){
return result * n;
}
public int getResult() {
return result;
}
public void setResult(int result) {
this.result = result;
}
第二步:
将JUnit4单元测试包引入这个项目:在该项目“projectA”上点右键,点“属性”(Properties),如图:
点击“Next”,选择“Junit4”,点击“Finish”,成功引进junit4包,如下图:
在刚创建的Calculator类上右键选择“JUnit Test Case”选项
点击“Next”,
点击“Finish”
千万不要去删除@Test这个标志很重要的!!!!!然后把fail(“Not yet implemented”)删除,把自己的代码敲进去就可以了。我选择了测试4个方法,所以它会自动生成4个测试方法。
那测试方法怎么写呢?举个例子,我想知道我的Calculator里面的add方法有没有写对,那我就对这个方法写个测试。把a数传递进去,例如a=1,因为result等于1,那result+1就等2,所以这里我们又要了解新的东西了。
我们知道result + a =2,所以如果add方法的result是2的话,那就说明了我们的这个add暂时没有这类型的bug。所以我们要用到方法assertEquals(double expected, double actual)
这个方法里的double expected是我们期望的值,double actual是实际的值。例如
assertEquals(2, result+a),这样就可以测试方法有没有算错了
完整测试代码:
import static org.junit.Assert.*;
import org.junit.Test;
public class CalculatorTest {
Calculator test = new Calculator();
@Test
public void testAdd() {
assertEquals(3, test.add(2));
}
@Test
public void testJian() {
assertEquals(-1, test.jian(2));
}
@Test
public void testCheng() {
assertEquals(2, test.cheng(2));
}
}