Сборка с ошибкой теста, пометить тест как не обязательный - PullRequest
0 голосов
/ 01 июня 2018

Я использую Java 8, Maven, (Spring, Mockito), JUnit.

Идея состоит в том, чтобы узнать, возможно ли создать мое приложение с помощью тестов (не пропущенных и не проигнорированных).И установить некоторые как не обязательные.

Может быть, есть аннотация типа "@FailureWarningOnly" в JUnit или где-то еще?

Требования:

  • Я не хочучтобы все тесты не были выполнены, но только те, которые не были обязательными для сборки.
  • Я не хочу использовать @Ignore, потому что я хочу получить информацию, если что-то пойдет не так в сборкефаза.
  • Я также хочу, чтобы исключение ошибки трассировки стека при решении проблемы.

1 Ответ

0 голосов
/ 01 июня 2018

Лично я не большой поклонник проведения некоторых тестов должен быть успешным, в то время как другой тест может .
Это дверь, открывающая, чтобы сделать ваш тест более хрупким именее полезны и могут вызывать вредные привычки.
В большинстве случаев вы можете использовать профиль или улучшить настройку тестов, чтобы сделать их поведение воспроизводимым.

В редких случаях, когда это невозможно, вы можете сделать предположение, что «неверно» означает, что следующие утверждения теста следует игнорировать.
Вы можете сделать это вручную или использовать функцию вашеготестовые рамки.

JUnit (4 и 5) предоставляет Assumptions, то есть:

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

Это выглядит так:

@Test
public void foo(){
  Assume.assumeTrue(shouldFailTestInThisCase(...));
  // my assertions
  Assert.assertEquals(...);
  Assert.assertEquals(...);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...