У меня есть 2 тестовых файла в ./test
.
Допустим, test1.js
— это тест Mocha, который запускает сервер и выполняет различные запросы к URI, чтобы определить, все ли они ведут себя так, как ожидалось.
test2.js
— это тест Mocha, который использует Karma для загрузки определенных скриптов (включая angular-mocks.js
) и запускает их в нескольких браузерах, чтобы гарантировать, что все функциональные возможности здесь работают должным образом.
В package.json
у меня есть свойство test
, настроенное как таковое:
"scripts": {
"test": "./node_modules/.bin/mocha --reporter spec -t 5000"
},
Круто, я могу npm test
из командной строки запустить Mocha. Но нет, Mocha запускает оба моих скрипта, и test2.js
, конечно же, приводит к сбою всего этого, поскольку логика в нем предполагает, что он работает в контексте Karma (извините, если я не описываю это должным образом).
У меня могло бы быть 2 тестовых папки, test
и test-ng
или что-то в этом роде, но я думаю, что в конечном итоге я хочу иметь возможность npm test
и запускать разные наборы тестов, т.е.:
"./node_modules/.bin/mocha --reporter spec -t 5000"
"./node_modules/.bin/karma start"
и настройте их для каждого запуска правильных файлов js. Я искал как сумасшедший, чтобы найти пример, где тесты на стороне клиента и на стороне сервера существуют в одном и том же репо, но я нахожу только учебные пособия и сообщения в блогах и тому подобное для демонстрации того или другого. Может ли кто-нибудь помочь мне в правильном направлении?
Изменить: Должен ли я думать/организовывать свои тесты таким образом?
./tests/server/**.js
./tests/e2e/**.js
./tests/unit/**.js
Возможно, я делал предположения, основанные на том факте, что npm по умолчанию использует папку ./test/
.
Изменить 2: сейчас я делаю то, что описал выше, более или менее, и мои тесты описаны в файле readme репозитория, например:
Модульные тесты Angular можно запускать через Karma:
./node_modules/.bin/karma start karma.conf.js
Сквозные тесты Angular можно запускать через Protractor:
./node_modules/.bin/protractor protractor.conf.js
Экспресс модульные тесты можно запускать через Mocha:
./node_modules/.bin/mocha ...
Итак, теперь я вообще не использую npm test
, и мне интересно, какие преимущества дает это использование.