Тест исключения Junit - PullRequest
       7

Тест исключения Junit

4 голосов
/ 17 марта 2010

У меня есть два теста, чтобы проверить ожидаемый выброс исключения. Я использую Junit 4 и имеет следующий синтаксис.

@Test(expected=IllegalArgumentException.class)
public void testSomething(){
..........
}

Один из тестов не пройден, хотя IllegalArgumentException выбрасывается, а другой проходит. Есть идеи, чего не хватает ?? Я изменил тест, который не соответствует следующему, и он проходит.

public void testSomething(){
 try{
  ............ //line that throws exception
  fail();
 }catch(IllegalArgumentException e) {
 }
} 

1 Ответ

7 голосов
/ 17 марта 2010

Prithis просто кое-что, что я заметил, во втором тесте вообще нет аннотации @Test. JUNIT4 не запускает тесты, которые не аннотируются, даже если имена методов начинаются с test *** (если, конечно, вы фактически не расширяете класс TestCase, в этом случае он ведет себя как тестовый случай JUNIT3.x)

Возможно, это тот случай, когда тест вообще не выполняется (и, следовательно, заставляет вас думать, что он прошел)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...