重点掌握@Test @Before @After
了解 @BeforeClass @AfterClass
先写一个Person类
public class Person {
public String run(){
System.out.println("run");
return "1";
}
public void eat(){
System.out.println("eat");
}
}
import org.junit.Before;
import org.junit.Test;
public class Demo4 {
Person person;
@Before
public void Before(){
person=new Person();
}
@Test
public void testRun(){
person.run();
}
@Test
public void testEat(){
person.eat();
}
@org.junit.After
public void After(){
System.out.println("after");
}
}
输出:
eat
after
run
after
@Test是需要被单元测试的方法的注解
@Before注解的方法是在每一个@Test方法执行之前执行
@After注解的方法是在每一个@Test方法执行之后执行
写如下代码:
import junit.runner.TestRunListener;
public class Demo5 {
@BeforeClass
public static void beforeClass(){
System.out.println("beforeClass");
}
@Test
public void TestRun(){
Person person=new Person();
person.run();
}
@AfterClass
public static void afterClass(){
System.out.println("afterClass");
}
}
输出:
beforeClass
run
afterClass
@BeforeClass和@AfterClass是在整个测试类运行之前执行一次,整个测试类运行之后执行一次。
还需要掌握的是断言:
public class Demo6 {
@Test
public void run(){
Person person=new Person();
Assert.assertEquals("1", person.run());
Assert.assertArrayEquals(new int[] {1,1},new int []{1,1});
}
}
断言很好理解,就是预测的结果和实际执行结果的对比,如果一致就通过,否则就报错。