Как повторить неудачный тест 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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