Как повторить неудачный тест JUnit 5 в зависимости от того, было ли в Котлине определенное исключениеJAVA

Программисты JAVA общаются здесь
Anonymous
Как повторить неудачный тест JUnit 5 в зависимости от того, было ли в Котлине определенное исключение

Сообщение Anonymous »

Проблема:
У меня есть несколько тестов интеграции JUnit 5, которые иногда завершаются неудачно из-за временных ошибок, в частности, выдачи исключения MySpecificException.
Мне нужно, чтобы эти тесты повторялись до 3 раз, если выдается MySpecificException, но немедленно завершались неудачей, если выбрасывалось другое исключение.

Что Я попробовал:
Я попытался реализовать правило повтора, используя интерфейс TestRule, как предложено в этом ответе на вопрос «Переполнение стека»:
  • Как немедленно перезапустить неудачные тесты JUnit 4
К сожалению, решение, представленное в приведенной выше теме, связано с TestRule не совместим с JUnit 5.

Спросите:
  • Как реализовать механизм повтора, который повторяет неудачные тесты с 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

Вернуться в «JAVA»