«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как мгновенно повторить неудачные тесты JUnit?

Как мгновенно повторить неудачные тесты JUnit?

Опубликовано 8 ноября 2024 г.
Просматривать:851

How to Retry Failed JUnit Tests Instantly?

Мгновенно повторите неудачные тесты JUnit

Попытка справиться с редкими сбоями тестов из-за срочных действий в больших наборах тестов может привести к разочарованию. Хорошей новостью является то, что вы можете реализовать TestRule для повторения неудачных тестов.

Создание RetryRule

TestRule дает вам контроль над выполнением теста. Чтобы создать RetryRule, определите такой класс:

public class RetryTest {
    public class RetryRule implements TestRule {
        ...
        public Statement apply(Statement base, Description description) {
            ...
        }
        ...
    }
}

В методе apply вставьте логику повтора вокруг тестового вызова, используя предоставленный base.evaluate():

public Statement apply(Statement, Description) {
    return new Statement() {
        @Override
        public void evaluate() throws Throwable {
            ...
            for (int i = 0; i 

Использование правила повтора

Аннотируйте свой тестовый класс с помощью правила следующим образом:

...
@Rule
public Retry rule = new Retry(3);
...

Другие параметры

Пользовательский TestRunner:

В качестве альтернативы вы можете создать собственный TestRunner, который расширяет BlockJUnit4ClassRunner и переопределяет runChild() для реализации повторная попытка механизм.

Примечание:

  • RetryRule позволяет указать количество повторных попыток, а пользовательский TestRunner этого не делает.
  • Вы также можно использовать аннотации для выборочного применения логики повтора.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3