grunt和qunit - 运行单个测试

时间:2014-01-21 02:44:18

标签: javascript gruntjs qunit

我已经设置了grunt-contrib-qunit。我的Gruntfile.js包含类似这样的内容

qunit: { files: ['test/*.html'] }

现在我可以运行grunt qunit并运行所有测试。

问题:如何在不运行所有测试的情况下运行单个测试?有没有办法可以从命令行重载files的值?

1 个答案:

答案 0 :(得分:6)

你肯定需要研究grunt-contrib-qunit和grunt-contrib-connect(https://github.com/gruntjs/grunt-contrib-qunithttps://github.com/gruntjs/grunt-contrib-connect),因为tandem会为你提供一个无头模型和一个本地网络服务器。

更新 - 至于只运行一个特定测试,您可以编写类似这样的内容,将测试列为您的qunit任务的单独目标:

grunt.initConfig({
  qunit: {
    justSomething: ['test/justsomething.html'],
    justSomethingElse: ['test/justsomethingelse.html'],
    all: ['test/*.html']
  }
});

然后你可以拨打grunt qunit:justSomethinggrunt qunit:all - 这不是特定于qunit,但是 - 请参阅http://gruntjs.com/configuring-tasks

现在,如果您真的想使用目标来指定测试名称,那么您将使用以下内容:

module.exports = function(grunt) {
    grunt.loadNpmTasks('grunt-contrib-qunit');

    grunt.initConfig({
            qunit: {
                    all: ['test/**/*.html']
            }
    });

    grunt.task.registerTask('foo', 'A sample task that run one test.', function(testname) {
            if(!!testname)
                    grunt.config('qunit.all', ['test/' + testname + '.html']);
            grunt.task.run('qunit:all');
    });
}

然后拨打grunt foo:testname

然而,这并不是特定于qunit - 而是粗略的任务写作。

希望(最终)有所帮助。

相关问题