3

我正在编写一个 JUnit 4 测试套件,它运行一些测试来检查是否引发了异常。就其本身而言,我的测试看起来有点像这样:

@RunWith(value=BlockJUnit4ClassRunner.class)
public class CreateCommandsExceptionsTest extends TestCase {
    Statistics statistics;
    @Before
    public void setUp(){
        ...
    }
        ...
    @Test (expected=StatsArrayTooShortException.class)
    public void testStatsArrayTooShortException(){
        ...
    }

测试本身运行良好,但是当我尝试将它们放入测试套件时,它们会失败,因为我正在测试的异常被抛出。

我的测试套件看起来像:

@RunWith(value=BlockJUnit4ClassRunner.class)
public class UnitTestSuite {
public static testSuite(){
    TestSuite suite = new TestSuite("Test for unitTests");

    suite.addTestSuite(StatisticsTest.class);
    ...
    return suite;
}
}

如果有人能告诉我应该如何设置我的测试套件,以便在我捕捉到预期的异常时通过测试,我将不胜感激。

4

1 回答 1

4

您在 Junit 4 中使用了错误的套件语法。

这是正确的方法:

@RunWith(Suite.class)
@Suite.SuiteClasses({
        JunitTest1.class,
        JunitTest2.class
})
public class JunitTest5 {
}
于 2011-04-04T09:17:41.917 回答