Как заставить набор тестов запускаться первым и завершить все выполнение Jest в случае сбоя?

#javascript #testin& #jestjs #puppeteer

#javascript #тестирование #jestjs #кукловод

Вопрос:

Для моего сквозного тестирования я использую Puppeteer с Jest. Моя кодовая база большая, и на данный момент у меня много тестов. Существует один «подготовительный» набор тестов, который проверяет, достаточно ли на нашей странице данных для продолжения остальных тестов. Я хотел бы принудительно запустить этот тест первым, а затем завершить процесс Jest в случае сбоя, поскольку после этого нет необходимости запускать другие тесты.

--runInBand Флаг не только сильно снижает производительность из-за большого количества tst, но также требует ручного завершения процесса Jest после сбоя первого теста, чего я не смог сделать.

Каков наилучший способ достичь вышеуказанного? Могу ли я, пожалуйста, получить минимальный пример решения? Спасибо!

Ответ №1:

Одно из мест, которые предшествуют всем тестам, это &lobalSetup . Он запускается в родительском процессе и не получает среду Jest, поэтому тест необходимо настроить вручную:

 import expect from 'expect';

export default async () =&&t; {
    // assertions &o here   
};