这对我有用
JUnit 3
public abstract class BaseTest extends TestCase {
public void setUp(){
System.out.println("before called");
}
}
public class Test1 extends BaseTest {
public void test() {
Assert.assertTrue(true);
System.out.println("Test1");
}
}
public class Test2 extends BaseTest {
public void test() {
Assert.assertTrue(true);
System.out.println("Test2");
}
}
我得到的输出是
before called
Test2
before called
Test1
JUnit 4
对于 JUnit4,您甚至不需要将基类抽象化。您可以使用以下内容
public class BaseTest {
@Before
public void setUp(){
System.out.println("before called");
}
}
public class Test1 extends BaseTest {
@Test
public void test() {
Assert.assertTrue(true);
System.out.println("Test1");
}
}
public class Test2 extends BaseTest {
@Test
public void test() {
Assert.assertTrue(true);
System.out.println("Test1");
}
}
我强烈推荐使用 JUnit 4。使用注解意味着你打破了一些可能会令人困惑的继承依赖关系。