JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore (2012-10-27 10:13:41)
2017-08-14 09:03
411 查看
JUnit 4 开始使用 Java 5 中的注解(annotation),常用的几个 annotation 介绍:
@BeforeClass:针对所有测试,只执行一次,且必须为static void
@Before:初始化方法
@Test:测试方法,在这里可以测试期望异常和超时时间
@After:释放资源
@AfterClass:针对所有测试,只执行一次,且必须为static void
@Ignore:忽略的测试方法
一个单元测试用例执行顺序为:
@BeforeClass –> @Before –> @Test –> @After –>@AfterClass
每一个测试方法的调用顺序为:
@Before –> @Test –> @After
以下是测试执行顺序代码:
[java]
view plaincopy
public class CalculatorTest {
private static Calculator calculator = new Calculator();
@BeforeClass
public static void beforeClass1(){
System.out.println("@beforeClass1");
}
@BeforeClass
public static void beforeClass2(){
System.out.println("@beforeClass2");
}
@Before
public void before1() throws Exception {
System.out.println("@before1");
}
@Before
public void before2() throws Exception {
System.out.println("@before2");
}
@Test
public void testAdd() {
System.out.println(1);
}
@Test
public void testSubstract() {
System.out.println(2);
}
@Ignore("Multiply() Not yet implemented")
@Test
public void testMultiply() {
System.out.println(3);
fail("Not yet implemented");
}
@Test
public void testDivide() {
System.out.println(4);
}
@Test(timeout = 1000)
public void testSquareRoot() {
System.out.println(5);
}
@Test
//@Test(expected = ArithmeticException.class)
public void divideByZero() {
System.out.println(6);
}
@After
public void after1(){
System.out.println("@after1");
}
@After
public void after2(){
System.out.println("@after2");
}
@AfterClass
public static void afterClass1(){
System.out.println("@afterClass1");
}
@AfterClass
public static void afterClass2(){
System.out.println("@afterClass2");
}
}
执行结果: @beforeClass2
@beforeClass1
@before2
@before1
1
@after1
@after2
@before2
@before1
2
@after1
@after2
@before2
@before1
4
@after1
@after2
@before2
@before1
5
@after1
@after2
@before2
@before1
6
@after1
@after2
@afterClass1
@afterClass2
@BeforeClass:针对所有测试,只执行一次,且必须为static void
@Before:初始化方法
@Test:测试方法,在这里可以测试期望异常和超时时间
@After:释放资源
@AfterClass:针对所有测试,只执行一次,且必须为static void
@Ignore:忽略的测试方法
一个单元测试用例执行顺序为:
@BeforeClass –> @Before –> @Test –> @After –>@AfterClass
每一个测试方法的调用顺序为:
@Before –> @Test –> @After
以下是测试执行顺序代码:
[java]
view plaincopy
public class CalculatorTest {
private static Calculator calculator = new Calculator();
@BeforeClass
public static void beforeClass1(){
System.out.println("@beforeClass1");
}
@BeforeClass
public static void beforeClass2(){
System.out.println("@beforeClass2");
}
@Before
public void before1() throws Exception {
System.out.println("@before1");
}
@Before
public void before2() throws Exception {
System.out.println("@before2");
}
@Test
public void testAdd() {
System.out.println(1);
}
@Test
public void testSubstract() {
System.out.println(2);
}
@Ignore("Multiply() Not yet implemented")
@Test
public void testMultiply() {
System.out.println(3);
fail("Not yet implemented");
}
@Test
public void testDivide() {
System.out.println(4);
}
@Test(timeout = 1000)
public void testSquareRoot() {
System.out.println(5);
}
@Test
//@Test(expected = ArithmeticException.class)
public void divideByZero() {
System.out.println(6);
}
@After
public void after1(){
System.out.println("@after1");
}
@After
public void after2(){
System.out.println("@after2");
}
@AfterClass
public static void afterClass1(){
System.out.println("@afterClass1");
}
@AfterClass
public static void afterClass2(){
System.out.println("@afterClass2");
}
}
执行结果: @beforeClass2
@beforeClass1
@before2
@before1
1
@after1
@after2
@before2
@before1
2
@after1
@after2
@before2
@before1
4
@after1
@after2
@before2
@before1
5
@after1
@after2
@before2
@before1
6
@after1
@after2
@afterClass1
@afterClass2
相关文章推荐
- JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore
- JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore
- JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore
- JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@AfterClass、@Ignore
- JUnit(>4.0)@BeforeClass、@Before、@Test、@After、@Aft
- junit 4 中的Before After Ignore Test BeforeClass AfterClass
- 首页 > 程序开发 > 软件开发 > Java > 正文 Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解
- Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass
- JUnit中@BeforeClass@AfterClass@Before@After和@Test
- Junit4的使用(@Test @Before @After @BeforeClass @AfterClass @Ignore)
- Junit 实例精讲基础教程(一) 认识Junit基本注解@Before、@After、@Test、@BeforeClass、@AfterClass
- JUnit单元测试举例(@Test,@Before,@After,@beforeClass,@afterClass,assertEquals,assertTrue等)
- Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解
- junit中before和beforeclass,多个test执行顺序
- Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass
- JUnit单元测试中的setUpBeforeClass()、tearDownAfterClass()、setUp()、tearDown()方法小结
- Junit常见错误@Test @BeforeClass
- Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解
- 【JUnit】[bug] BeforeClass 和 AfterClass 不执行
- 增强Spring junit测试框架的beforeClass和afterClass功能