Я в настоящее время борется с довольно сложной проблемой: я работаю над проектом, который содержит около 8 тысяч единичных тестов (для выполнения довольно сильной машины требуется 15 минут), а тест, который в настоящее время терпит неудачу, не терпит неудачу когда вы запускаете их или владеете (или при запуске с другими неудавшимися тестами), поэтому я думаю, что есть какой-то тест, который проходит, но оставляет какой-то беспорядок.Как найти тест, который влияет на выполнение других тестов?
В настоящее время я пытаюсь запустить эти тесты с тестами от конкретных пакетов, используя Gradle:
test {
filter {
includeTestsMatching 'some.package.*'
includeTestsMatching '*Test1'
includeTestsMatching '*Test2'
}
}
Однако есть некоторые вещи, которые я не знаю, как контролировать, как порядок выполнения тестовых классов (если у кого-то есть идея, как изменить порядок, который также поможет мне).
Возможно, кто-то уже знает какой-то хороший процесс поиска тестов, влияющих на другие тесты?
единичный тест никогда не должен влиять на функционирование или результат другого модульного теста – Stultuske
@Stultuske of the course :), но я не могу его исправить, если я не могу его найти:/ – korda
Использовать [метод bisection] (https: // en.wikipedia.org/wiki/Bisection_method), боюсь. Если весь тест всегда терпит неудачу, тогда проверка выполнения выполнения, вероятно, будет одинаковой каждый раз. В качестве альтернативы, если вы можете отслеживать момент времени, когда тест начал терпеть неудачу, это может быть ключом к решению этого. –