0

我想在整个测试套件之前(也在套件之后)做一些动作。所以我写道:

public class PerformanceTest extends TestCase {

    @BeforeClass
    public static void suiteSetup() throws Exception {
          //do something
    }

    @AfterClass
    public static void suiteSetup() throws Exception {
          //do something
    }

    @Before
    public void setUp()  throws Exception {
          //do something
    }

    @After
    public void tearDown()  throws Exception {
          //do something
    }

    public PerformanceTest(String testName){
          super(testName);
    }

    public static Test suite() {
          TestSuite suite = new TestSuite();

          Test testcase1 = new PerformanceTest("DoTest1");
          Test loadTest1 = new LoadTest(testcase1, n);

          Test testcase2 = new PerformanceTest("DoTest2");
          Test loadTest2 = new LoadTest(testcase2, n);

          return suite;
    }

    public void DoTest1 throws Throwable{
          //do something
    }

    public void DoTest2 throws Throwable{
          //do something
    }
}

但是我发现它永远不会到达@BeforeClass 和@AfterClass 中的代码。那么我该怎么做才能解决这个问题呢?还是有其他方法可以实现这一点?感谢您的帮助。

4

1 回答 1

1

您不能同时扩展 TestCase 和使用注解。

TestCase 是一个 JUnit 3 概念,注解是一个 JUnit 4 概念。

于 2010-04-29T17:52:55.557 回答