Мой текущий проект имеет политику 100% покрытия кода из своих модульных тестов. Наш сервис непрерывной интеграции не позволит разработчикам внедрять код без 100% покрытия.
По мере роста проекта у него есть время для запуска полного набора тестов. Хотя разработчики обычно запускают подмножество тестов, относящихся к изменяемому коду, они обычно выполняют один последний полный прогон перед отправкой в CI, а сам сервер CI также выполняет полный набор тестов.
Модульные тесты по своей природе очень распараллеливаемы, так как они автономны и не сохраняют состояния от теста к тесту. Они возвращают только две части информации: пройти / потерпеть неудачу и покрытые строки кода. Похоже, что решение «карта / уменьшение» будет работать очень хорошо.
Существуют ли какие-либо среды тестирования Python, которые будут выполнять тесты на кластере машин с покрытием кода и объединять результаты по завершении?