Как вы определяете тест npm для запуска кросс-платформы огурца?

Когда я пробовал Jasmine, я мог просто добавить в свой package.json файл следующее:

"scripts": {
    "test": "jasmine"
},

Затем, когда я запускал npm test из командной строки Windows, npm запускал мои тесты Jasmine.

Однако с Cucumber-JS я попробовал "test": "cucumber", но он просто открыл node_modules\.bin\cucumber.js в моем редакторе. Мне кажется, что для запуска тестов мне нужно использовать следующее:

"scripts": {
    "test": "cucumber.js.cmd"
},

Это кажется очень зависящим от платформы, и я бы не стал усложнять эту задачу для со-разработчиков, использующих Mac или Linux.

Есть ли значение, которое я могу использовать для команды «test», которая будет работать в нескольких операционных системах?

РЕДАКТИРОВАТЬ:
Обратите внимание, что мой вопрос похож на этот о мокко, но не совсем то же самое, поскольку ответ в этом вопросе (с использованием имени пакета mocha) решен проблема, тогда как в этом случае использование имени пакета (cucumber) не сработало.


person matt    schedule 27.09.2017    source источник
comment
Возможный дубликат Настройте узел npm package.json так, чтобы тест npm работал как в unix, так и в Windows   -  person aknosis    schedule 27.09.2017


Ответы (1)


Прочитав очень похожий вопрос / ответ StackO и более внимательно изучив содержимое папки node_modules\.bin, я обнаружил, что с помощью следующее, похоже, делает именно то, что я хотел:

"scripts": {
    "test": "cucumberjs"
},

Очевидно, мне следовало использовать cucumberjs вместо просто cucumber.

person matt    schedule 27.09.2017