Как создать набор тестов JUnit 4 для прохождения при возникновении ожидаемых исключений - PullRequest
3 голосов
/ 04 апреля 2011

Я пишу набор тестов 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;
}
}

Если бы кто-нибудь мог сказать мне, как я должен настроить свой набор тестов, чтобы я мог пройти тест, когда я ловлюожидаемое исключение, я был бы признателен.

1 Ответ

4 голосов
/ 04 апреля 2011

Вы используете неверный синтаксис для Suite в Junit 4.

Это правильный путь:

@RunWith(Suite.class)
@Suite.SuiteClasses({
        JunitTest1.class,
        JunitTest2.class
})
public class JunitTest5 {
}
...