Я запускаю тесты Jest через npm test
. Jest запускает тесты параллельно по умолчанию. Есть ли способ заставить тесты запускаться последовательно?
У меня есть несколько тестов, вызывающих сторонний код, который зависит от изменения текущего рабочего каталога.
npm test --runInBand
? Оффтоп: Не уверен, откуда происходит название «группа». --Run последовательно, вероятно, имело бы больше смысла :)npm test -- --runInBand
правильно.Я все еще знакомлюсь с Jest, но похоже, что описательные блоки работают синхронно, тогда как тестовые блоки работают асинхронно. Я запускаю несколько блоков описаний внутри внешнего описания, которое выглядит примерно так:
В этом случае
test3
не выполняется, покаtest2
не завершится, потому чтоtest3
находится в блоке описания, который следует за блоком описания, который содержитtest2
.источник
Это сработало для меня, обеспечив последовательный запуск хорошо разделенных на модули тестов:
1) Хранить тесты в отдельных файлах, но без
spec/test
именования.2) Файл с набором тестов также должен выглядеть следующим образом (testSuite1.js):
3) Импортируйте их
testToRunSequentially.test.js
и выполните с--runInBand
:источник
Используйте серийный тестовый бегун:
Настройте jest, чтобы использовать его, например, в jest.config.js:
Вы можете использовать функцию проекта, чтобы применить ее только к подмножеству тестов. См. Https://jestjs.io/docs/en/configuration#projects-arraystring--projectconfig
источник
Как скопировано с https://github.com/facebook/jest/issues/6194#issuecomment-419837314
test.spec.js
signup.js
login.js
источник