Лично я не большой поклонник проведения некоторых тестов должен быть успешным, в то время как другой тест может .
Это дверь, открывающая, чтобы сделать ваш тест более хрупким именее полезны и могут вызывать вредные привычки.
В большинстве случаев вы можете использовать профиль или улучшить настройку тестов, чтобы сделать их поведение воспроизводимым.
В редких случаях, когда это невозможно, вы можете сделать предположение, что «неверно» означает, что следующие утверждения теста следует игнорировать.
Вы можете сделать это вручную или использовать функцию вашеготестовые рамки.
JUnit (4 и 5) предоставляет Assumptions
, то есть:
набор служебных методов, которые поддерживают выполнение условного теста на основе предположений.В противоположность ошибочным утверждениям, ошибочные предположения не приводят к неудаче теста;скорее неудачное предположение приводит к тому, что тест прерывается.
Это выглядит так:
@Test
public void foo(){
Assume.assumeTrue(shouldFailTestInThisCase(...));
// my assertions
Assert.assertEquals(...);
Assert.assertEquals(...);
}