Ответ 1
Общими причинами неудачных тестов на этапе покрытия являются
- Тесты на выбор PIT, не включенные/исключенные в обычном тестовом конфиге
- Тесты полагаются на переменную среды или другое свойство, установленное в тестовой конфигурации, но не устанавливаемое в конфигурацию pitest
- Тесты имеют зависимость скрытого порядка, которая не отображается во время обычного тестового прогона.
- PIT не нравится что-то в вашем техническом стеке - возможно, тестировщик JUnit
Похоже, что вы удалили 1 и 2. так, чтобы у вас осталось 3 и 4.
Зависимости тестового заказа могут быть трудно выявлены. Если ответ "да" на любой из них, у вас может быть один.
- Включает ли ваша кодовая база изменяемое статическое состояние? (например, в одиночных клетках)
- Выполняют ли ваши тесты попадание в базу данных (в памяти или в противном случае), где можно сохранять состояние между тестами?
- Могут ли ваши тесты модифицировать файлы на диске?
Вероятно, есть много других причин, не указанных выше.
Если вы уверены, что зависимостей заказов невозможно в базе кода, это оставляет проблему с этими конкретными тестами.
Трудно догадаться, что это может быть без какого-либо кода. Можете ли вы опубликовать упрощенную версию теста, который все еще не удается?