Утверждение Assert приводит к остановке тестов JUnit - PullRequest
0 голосов
/ 07 ноября 2010

В классе, который я тестирую, есть несколько операторов assert, которые проверяют различные условия.

Одним из методов является

GetNames(string id){
    assert(! id.Equals("")); // Causes all junit tests to stop
    ...
}

, и есть оператор assert для проверки, не является ли id не пустым.

В моих модульных тестах у меня есть один тест, гдеЯ передаю ему пустую строку и несколько других.Проблема заключается в том, что когда оператор assert выполняется в классе, тесты JUnit перестают выполняться после этого теста.

Как изменить / настроить модульные тесты, чтобы в случае ошибки подтверждения в классетесты не останавливаются.

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

Я использую плагин JUnit в eclipse.У меня нет никакого кода в разделах настройки и демонтажа.

1 Ответ

4 голосов
/ 07 ноября 2010

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

try {
    xxx.GetNames("");
} catch (AssertionError e) {
    // this is expected - ignore it
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...