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