如果节点版本大于x,是否可以在package.json的test
中指定运行某个测试?目前,我正在使用带有mocha的Travis,我的脚本如下所示:
if [node --version > '0.10'] then mocha --harmony ./tests/koa/*.js else mocha ./tests/*.js
我发现似乎可以使用来自here的if语句,但使用上述内容只会给我一个错误:--version was unexpected at this time.
答案 0 :(得分:2)
所以,它并不是我想做的事情,但我最终弄乱了.travis.yaml文件并创建了一个脚本。首先,我在package.json中创建了一个新脚本,如下所示:
"scripts": {
"test": "mocha --harmony ./tests/koa/*.js && mocha ./tests/*.js",
"0.10": "mocha ./tests/*.js"
}
然后我将.yaml文件编辑为以下内容:
language: node_js
node_js:
- 0.12
- 0.11
- 0.10
- iojs
script:
nv=$(node -v);
if [[ $nv != v0.10.36 ]] ; then
npm test;
else
npm run 0.10;
fi
并且您可以在不同的节点版本中使用您的测试。即使你想支持v0.10,当你想使用--harmony
时,这非常方便,但我确信有更好的方法。
编辑:@gniourf_gniourf给予我正确方向的信用。