Испытания JUnit я аннотируюсьповторяя каждый тест в большинстве N раза до первого успеха
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations=...
Вероятности каждого из испытаний, взятые по отдельности, неиспользование является довольно низким. Однако, из-за большого количества тестов, вероятность того, что все тесты будут успешными, таким образом пройдя автоматические тесты, также будет низкой. Достаточно того, что тест успешен один раз, чтобы знать, что проверенная функциональность была реализована правильно (когда тесты терпят неудачу, либо они всегда терпят неудачу, потому что функциональность не была выполнена правильно, либо они иногда не срабатывают из-за некоторой комбинации условий, связанных с которая редко встречается).
Так что мне нужно, для фиксированного N, повторять каждый тест не более N раз до достижения успеха. Только если тест не прошел все N раз, я выводю, что что-то должно быть сломано.
Можно предложить чистый способ осуществить это (подклассов Spring JUnit бегуна, возможно? Какой-то другой способ?)
Почему у вас неудачные тесты? Обычно это признак плохой конструкции или чрезмерно нетерпеливого тестирования на вещах, которые не обязательно должны быть проверены. Являются ли они интеграционными тестами с компонентами, которые у вас нет? –
@KoosGadellaa «Почему у вас неудачные тесты?» - Это долгая история, и изменить тестовую среду невозможно. Дело в том, что мне нужно только знать, что функциональность реализована правильно с достаточно высокой вероятностью, и это проблема, которую нужно быстро решить. –
Возможно, вы можете использовать [Contiperf] (http://databene.org/contiperf) для запуска N раз, а затем иметь прослушиватель в каждом тестовом файле, который позволяет легко проверить, имеет ли тестовый файл успешный вывод? Не останавливается после первого успешного запуска, однако –