我正在使用npm test
运行测试 - 它实际上运行了一个笨拙的任务grunt casperjs
:
casperjs:{
options:{},
files:
['./test_index.js',
'./test_map_regression.js',
'./test_index_get_gush.js'] /
},
使用grunt-casperjs-plugin以使用slimerjs和phantomjs自动进行测试,两者都在Travis-ci的casperjs下运行。
为了做到这一点,我需要将引擎作为变量从命令行传递。类似的东西:
casperjs --engine=slimerjs test_suite.js
问题:我找不到从grunt cli传递选项的方法(我假设npm命令行选项会委托给grunt。正确吗?)到files
数组
我试图添加:
var engine = grunt.option('engine') || 'phantomjs';
engine = '--engine='+engine;
然后在文件数组中执行:
files:['./test_index.js '+engine,
'./test_map_regression.js '+enging,
'./test_index_get_gush.js '+engine]
但似乎文件数组必须在没有添加args的情况下获得真正的文件名。
如果能解决这个问题,我会很高兴。
答案 0 :(得分:1)
我没有对此进行过测试,但是查看grunt-casperjs source,看起来好像您希望将引擎作为选项传递。
所以,这样的事情应该有效:
casperjs:{
options: {
'engine': 'slimerjs'
},
files: [
'./test_index.js',
'./test_map_regression.js',
'./test_index_get_gush.js'
]
}