是否可以在JUnit中为每个测试用例使用不同的@Before @After?

时间:2013-10-23 08:58:18

标签: java eclipse unit-testing junit

我是Java & JUnit的新手,遇到了不同的 Fixtures 。我在网上搜索了很多,但我找不到答案。

是否可以在@Before @After中针对不同的测试用例使用不同的JUnit? 例如:我有以下TC,那么是否可以使用不同的@Before进行测试& test1的不同@Before

 import static org.junit.Assert.assertEquals;

 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 testJUnit {

@BeforeClass
public static void setUpBeforeClass() throws Exception {
    System.out.println("Before Class");
}

@AfterClass
public static void tearDownAfterClass() throws Exception {
    System.out.println("Tear Down After Class");
}

@Before
public void setUp() throws Exception {
    System.out.println("Setup");
}

@After
public void tearDown() throws Exception {
    System.out.println("Tear Down");
}

@Test
public void test() {
    int a = 1;
    assertEquals("Testing...", 1, a);
}

@Ignore
@Test
public void test1() {
    int a = 156;
    assertEquals("Testing...", 156, a);
}

}

任何人都可以指导我吗?

2 个答案:

答案 0 :(得分:11)

如果您需要不同的BeforeAfter,请将每个测试放入正确的公共类

  

用@Before标记的方法将在执行前执行   课堂上的每一项考试。

答案 1 :(得分:5)

只需编写一个您在测试中调用的私有方法。