JUnit Testing - AssertTrue не выдает исключение - PullRequest
1 голос
/ 04 ноября 2011

Это мой первый тест JUnit, и я не понимаю, почему не выбрасывает AssertionError, что я делаю неправильно ??

Ответы [ 3 ]

2 голосов
/ 04 ноября 2011

Чтобы запустить JUnit из командной строки , вам нужно вызвать метод main.

JUnitCore.main("MyFirstJUnitTest");

Вы не должны использовать JUnitCore, если только вам не нужен программный доступ к результату, например, если вы пишете плагин JUnit для IDE:

JUnitCore.runClasses(MyFirstJUnitTest.class).getFailures();

JUnitCore перехватывает любые исключения и сохраняет их в Result, классе, который будет читать ваш плагин JUnit.

1 голос
/ 04 ноября 2011

AssertionError в этом случае перехватывается тестовым организатором.

Обычно AssertionError s генерируются из-за неудачных утверждений, сделанных с ключевым словом assert.Это:

public static void main(String[] args) {
    int a = 5;
    int b = 3;

    int c = a + b; //8

    assert c == 7;
}

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

0 голосов
/ 04 ноября 2011

Утверждения предназначены не для выдачи исключений, а для проверки правильности вашего состояния. Так что это покажет вам, что что-то пошло не так (в вашем JUnit-представлении в вашей IDE), но не выдает никаких исключений.

...