Я реорганизую один бэкэнд в своей компании, и я его максимально модулирую. Моя структура может быть определена как monorepo, состоящая из нескольких локальных подмодулей и одного или двух основных модулей, которые требуют их (подмодулей). Проиллюстрируем это:Запуск лабораторного теста для всех тестовых подпапок
- корень
- главный
- package.json
- материал, который использует submoduleA
- материал, который использует submoduleB
- тест
- модули
- submoduleA
- package.json
- код
- тест
- submoduleB
- package.json
- тест
Как вы можете видеть, каждый модуль имеет свои собственные тесты, package.json
и зависимости. Все работает безупречно внутри них (работает npm test
внутри папки модуля, например). Я использую lab
и code
для тестирования.
Я хочу, чтобы иметь возможность сделать это в корне проекта, запустите npm test
и запустите все тесты для всех подмодулей и основного модуля. В основном запустите все тесты в любой тестовой папке за один раз.
Проблемы, которые я нашел до сих пор: - В настоящее время запускаются только файлы под целевым тестовым каталогом. Я даже не знаю, как запустить все тесты сразу. Моя команда выглядит как lab src/main/test --reporter console --threshold 100 --assert code
То, что я сейчас делаю, ставит все тесты под одной и той же тестовой директорией и делает относительные требования ко всему. Это очень неудобно, потому что делает тест хрупким со всеми этими ../../../some/away/path
требует и этот материал.
Любые советы по сохранению кода в модуле и возможность запуска всего теста сразу будут очень желанными. Большое спасибо.
Я спросил это неделю назад на hapijs хранилища, так что если вы хотите, чтобы ответить там тоже было бы хорошо: https://github.com/hapijs/discuss/issues/397
У меня есть некоторые подмодули, которые работают таким образом, они управляются как локальные модули npm и фактически установлены в папку node_modules.У них есть своя тестовая папка, и я могу тестировать каждую по отдельности. Но у меня нет способа проверить всю вещь за один раз. Не могли бы вы рассказать о второй части? Тестирование их вместе? – Danielo515
При тестировании модуля верхнего уровня вы тестируете все модули вместе –