У меня есть несколько тестов интеграции JUnit 5, которые иногда завершаются неудачно из-за временных ошибок, в частности, выдачи исключения MySpecificException.
Мне нужно, чтобы эти тесты повторялись до 3 раз, если выдается MySpecificException, но немедленно завершались неудачей, если выбрасывалось другое исключение.
Что Я попробовал:
Я попытался реализовать правило повтора, используя интерфейс TestRule, как предложено в этом ответе на вопрос «Переполнение стека»:
- Как немедленно перезапустить неудачные тесты JUnit 4
Спросите:
- Как реализовать механизм повтора, который повторяет неудачные тесты с MySpecificException до 3 раз в JUnit 5 с использованием Kotlin?
- Как можно Я делаю этот механизм повтора применимым как на уровне тестового класса, так и на уровне тестового метода? Например:
Код: Выделить всё
// Test Class Scope @RetryMechanism(MySpecificException::class, retries = 3) class MyTests { @Test fun testSomething() { assertEquals(x, obj.doX()) } }Код: Выделить всё
// Test Method Scope class MyTests { @Test @RetryMechanism(MySpecificException::class, retries = 3) fun testSomething() { assertEquals(x, obj.doX()) } }
Подробнее здесь: https://stackoverflow.com/questions/786 ... s-thrown-i
Мобильная версия