В моем текущем проекте есть политика покрытия 100% кода из его модульных тестов. Наша служба непрерывной интеграции не позволит разработчикам продвигать код без 100% -ного охвата.Тестирование распределенных модулей и покрытие кода в Python
Поскольку проект вырос, так что есть время, чтобы запустить полный набор тестов. Хотя разработчики обычно запускают подмножество тестов, относящихся к коду, который они меняют, они обычно выполняют один окончательный полный запуск перед отправкой в CI, а сам сервер CI также запускает полный набор тестов.
Единичные испытания по своей природе являются высокопараллелизуемыми, поскольку они являются автономными и без гражданства от теста к тесту. Они возвращают только две части информации: pass/fail и строки кода. Решение с отображением карты/уменьшения кажется, что оно будет работать очень хорошо.
Существуют ли какие-либо рамки тестирования Python, которые будут запускать тесты через кластер машин с охватом кода и объединить результаты по завершении?
Вы нашли что-нибудь, что делает то, что вы хотели? –
@ stair314 К сожалению нет. Мы купили еще немного времени, оптимизируя собственные тесты модулей и вырезая большое количество ненужной работы. Мы также добавили машины в наш кластер CI, чтобы мы могли строить (и тестировать) параллельно, но мы все равно выполняем все тесты каждый раз. Надеюсь, в какой-то момент мы сможем сосредоточить усилия на развитии этой проблемы. –