0

我正在运行测试npm test- 实际上运行的是一个 grunt 任务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]

但似乎文件数组必须在没有添加参数的情况下获得真实的文件名。

对于如何解决这个问题的任何想法,我都会很高兴。

4

1 回答 1

1

我没有对此进行测试,但是查看grunt-casperjs 源代码,您似乎希望将引擎作为选项传递。

所以,这样的事情应该有效:

casperjs:{
    options: {
        'engine': 'slimerjs'
    },
    files: [
        './test_index.js',
        './test_map_regression.js',
        './test_index_get_gush.js'
    ]
}
于 2013-09-15T17:37:26.250 回答