Селективность
Введение
Селективность позволяет значительно ускорить процесс тестирования, запуская только релевантные тесты вместо всего набора. Testplane отслеживает зависимости каждого теста от файлов проекта — как код самих тестов, так и код, выполняемый в браузере — и при изменении файла запускает только те тесты, которые от него зависят.
Как это работает?
При первом запуске с включенной селективностью Testplane собирает информацию о зависимостях каждого теста:
- какие модули Node.js были загружены во время выполнения теста;
- какие файлы исходного кода были выполнены в браузере.
После изменения файла при следующем запуске будут выполнены только те тесты, которые зависят от измененного файла. Это значительно экономит время, особенно в больших проектах с большим количеством тестов.
Если хотя бы один тест упадет, то при следующем прогоне будут запущены все те же тесты —
Testplane "запомнит" новое состояние только после полностью успешного прогона. Однако вы можете
использовать saveIncompleteDumpOnFail для сохранения дампа даже при
падении и затем дополнить его, перезапустив только упавшие тесты. См. Восстановление после
неудачного прогона селективности ниже.
Настройка
Для включения селективности достаточно добавить в конфигурацию Testplane секцию selectivity с параметром enabled: true:
// testplane.config.ts
export default {
// ... Остальные настройки
selectivity: {
enabled: true,
},
} satisfies import("testplane").ConfigInput;