我已經設置了grunt-contrib-qunit。我Gruntfile.js包括像這樣grunt和qunit - 運行單個測試
qunit: { files: ['test/*.html'] }
現在我可以運行grunt qunit
和我所有的測試運行。
問題:如何在不運行所有測試的情況下運行一次測試?有沒有辦法讓我從命令行中重載files
的值?
我已經設置了grunt-contrib-qunit。我Gruntfile.js包括像這樣grunt和qunit - 運行單個測試
qunit: { files: ['test/*.html'] }
現在我可以運行grunt qunit
和我所有的測試運行。
問題:如何在不運行所有測試的情況下運行一次測試?有沒有辦法讓我從命令行中重載files
的值?
你肯定需要考慮grunt-contrib-qunit和grunt-contrib-connect(https://github.com/gruntjs/grunt-contrib-qunit和https://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任務寫作。
希望(終於)幫助。
編輯的問題澄清 - grunt/qunit已經建立,問題是我如何運行一個單一的測試,而不是所有的人。 – wrschneider
嗯,它仍然令人困惑:-) - 你有grunt-contrib-connect服務你的文件嗎? qunit「urls」配置有什麼問題阻止您運行單個測試?希望再次澄清 –
。 – wrschneider