2014-01-21 61 views
2

我已經設置了grunt-contrib-qunit。我Gruntfile.js包括像這樣grunt和qunit - 運行單個測試

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

現在我可以運行grunt qunit和我所有的測試運行。

問題:如何在不運行所有測試的情況下運行一次測試?有沒有辦法讓我從命令行中重載files的值?

回答

6

你肯定需要考慮grunt-contrib-qunit和grunt-contrib-connect(https://github.com/gruntjs/grunt-contrib-qunithttps://github.com/gruntjs/grunt-contrib-connect),因爲串聯會爲你提供一個無頭幻象和一個本地web服務器。

更新 - 作爲運行只是一個特定的測試,你可以寫這樣的事情,列出你的測試爲您qunit任務單獨的目標:

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

然後就可以調用grunt qunit:justSomething,或grunt 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 - 而是咕task任務寫作。

希望(終於)幫助。

+0

編輯的問題澄清 - grunt/qunit已經建立,問題是我如何運行一個單一的測試,而不是所有的人。 – wrschneider

+0

嗯,它仍然令人困惑:-) - 你有grunt-contrib-connect服務你的文件嗎? qunit「urls」配置有什麼問題阻止您運行單個測試?希望再次澄清 –

+0

。 – wrschneider