你如何定义 npm test 到 运行 cucumber 跨平台?
How do you define npm test to run cucumber cross platform?
当我试用 Jasmine 时,我可以简单地将以下内容添加到我的 package.json
文件中:
"scripts": {
"test": "jasmine"
},
然后当我从 Windows 命令提示符 运行 npm test
时,npm 会 运行 我的 Jasmine 测试。
但是,对于 Cucumber-JS,我尝试了 "test": "cucumber"
,但这只是在我的编辑器中打开了 node_modules\.bin\cucumber.js
。我似乎必须使用以下内容来实际 运行 测试:
"scripts": {
"test": "cucumber.js.cmd"
},
这似乎非常特定于平台,我不想让使用 Mac 或 Linux.
的合作开发者感到困难
是否有可用于 "test" 命令的可在多个操作系统上运行的值?
编辑:
请注意,我的问题类似于 this one about mocha,但不完全相同,因为该问题的答案(使用包的名称 mocha
)解决了问题,而在本例中使用包名 (cucumber
) 无效。
阅读 a very similar StackO question/answer 并仔细查看 node_modules\.bin
文件夹的内容后,我发现使用以下内容似乎完全符合我的要求:
"scripts": {
"test": "cucumberjs"
},
显然我应该使用 cucumberjs
而不是 cucumber
。
当我试用 Jasmine 时,我可以简单地将以下内容添加到我的 package.json
文件中:
"scripts": {
"test": "jasmine"
},
然后当我从 Windows 命令提示符 运行 npm test
时,npm 会 运行 我的 Jasmine 测试。
但是,对于 Cucumber-JS,我尝试了 "test": "cucumber"
,但这只是在我的编辑器中打开了 node_modules\.bin\cucumber.js
。我似乎必须使用以下内容来实际 运行 测试:
"scripts": {
"test": "cucumber.js.cmd"
},
这似乎非常特定于平台,我不想让使用 Mac 或 Linux.
的合作开发者感到困难是否有可用于 "test" 命令的可在多个操作系统上运行的值?
编辑:
请注意,我的问题类似于 this one about mocha,但不完全相同,因为该问题的答案(使用包的名称 mocha
)解决了问题,而在本例中使用包名 (cucumber
) 无效。
阅读 a very similar StackO question/answer 并仔细查看 node_modules\.bin
文件夹的内容后,我发现使用以下内容似乎完全符合我的要求:
"scripts": {
"test": "cucumberjs"
},
显然我应该使用 cucumberjs
而不是 cucumber
。