1.什么是Junit?
JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。它是白盒测试的一种
2.怎么使用Junit?
使用Junit,需要导入Junit相应的jar包,网上有各种导入jar包的方法,此处就不说了
3.案例
(1).写一个java类Calculator
package com.test;
public class Calculator {
public int sum(int a, int b) {
return a + b;
}
public int sub(int a, int b) {
return a - b;
}
public int mul(int a, int b) {
return a * b;
}
public int div(int a, int b) {
if (b == 0) {
throw new ArithmeticException("除数不能为0");
}
return a / b;
}
}
(2).右击Calculator----->new----->Junit Test Case,建立一个Junit Test Case,此处不用多说,如下,注释已经很清楚了,你可以添加相应的代码试试
package com.test;
import junit.framework.Assert;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
public class CalculatorTest {
private Calculator cal = new Calculator();
// 在每个测试方法前执行代码
@Before
public void before() {
System.out.println("before……");
}
@Test
public void testSum() {
int expected = 22;
int actual = cal.sum(11, 11);// 22
/*
* Assert 断言,比较实际结果与预期结果是否相等, 如果实际结果与预期结果相等则Junit的运行条为绿色 ,否则为红色
*/
Assert.assertEquals(expected, actual);
}
// 在每个测试方法之后执行
@After
public void after() {
System.out.println("after……");
}
// 在整个类对象,使用之后
@AfterClass
/*
* 方法声明为static,否则会出现错误
*/
public static void afterClass() {
System.out.println("after Class……");
}
// 在整个类对象,使用之前
@BeforeClass
public static void beforeClass() {
System.out.println("before Class……");
}
@Test
public void testSub() {
int actual = cal.sub(11, 11);// 0
int expected = 0;
Assert.assertEquals(expected, actual);
System.out.println("sub……");
}
// 不想该方法参与测试,在测试方法前加上@Ignore
@Test
@Ignore
public void testMul() {
int actual = cal.mul(11, 11);// 121
int expected = 121;
Assert.assertEquals(expected, actual);
}
/*
* 当传入的数字非法时,需要添加(expected = java.lang.ArithmeticException.class),这样就不会报错
*/
@Test(expected = java.lang.ArithmeticException.class)
public void testDiv() {
int actual = cal.div(11, 0);//
int expected = 1;
Assert.assertEquals(expected, actual);
}
}