Junit4中常用的注解有:
- @Test 加在待测试的方法前面
- @Before 带上@Test的方法执行前会执行该方法
- @After 带上@Test的方法执行完毕后会执行该方法
- @BeforeClass 加上这个注解,则该方法会第一个执行(在所有方法中),且方法要加上关键词static,是一个static方法
@AfterClass 加上这个注解,则该方法最后一个执行(在所有方法中),同样,方法要加上关键词static,是一个static方法
看下面的例子(IDE: Intellij idea,下面的展示的是一个Java源文件):
import com.sun.org.apache.bcel.internal.classfile.InnerClass;
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* Created by mifeng on 7/7/17.
*/
public class InnerClassTest {
public static String id;
public class Inner{
public Inner(){
System.out.println("this is Inner instance");
};
private String name;
}
public static class Inner2{}
@BeforeClass
public static void testBeforeClass(){
System.out.println("before Class");
}
public void afterClass(){
System.out.println("after Class");
}
@Before
public void before(){
System.out.println("before method");
}
@Test
public void display(){
Inner inOne = new Inner();
InnerClassTest.Inner inTwo = new InnerClassTest.Inner();
//InnerClassTest.Inner inThree = new InnerClassTest().Inner();
}
@Test
public void printMethod(){
System.out.println("printMehtod");
}
@After
public void after(){
System.out.println("after method");
}
}
class OutterClass{
//InnerClassTest.Inner outOne = new InnerClassTest.Inner();
InnerClassTest.Inner outTwo = new InnerClassTest().new Inner();
InnerClassTest.Inner2 out = new InnerClassTest.Inner2();
//InnerClassTest.Inner2 out2 = InnerClassTest.Inner2();
String id = InnerClassTest.id;
}
执行结果:
before Class
before method
this is Inner instance
this is Inner instance
after method
before method
printMehtod
after method
该例子同时也说明了怎么在一个类的内部定义一个类,以及如何使用该类