将节点命令作为咕噜驱动的QUnittesting的一部分运行
我正在使用grunt来打包我的jQuery插件。 作为QUnittesting的一部分,我需要在testing开始之前运行一个节点命令,以获得一致的结果(类似于process.env.TZ = 'Europe/London'
因为我的插件处理时区,所以结果会有所不同不同的时区)。
所以我的问题是:如何运行一个特定于节点的命令作为qunittesting的一部分?
谢谢。
创build你自己的咕噜任务,并从里面调用qunit任务:
var exec = require('child_process').exec; grunt.registerTask('qunit-plus', 'Custom qunit task', function() { exec('/usr/bin/mycmd', function(err, stdout, stderr) { grunt.task.run('qunit'); }); });
然后用以下方式调用它
$ grunt qunit-plus
注意:未经testing。
那么经过多一点研究,我碰到了grunt-env @ https://github.com/onehealth/grunt-env
这允许在gruntfile中定义不同的环境任务,例如
env: { setTZ : { TZ : 'Europe/London' } }
它将定义任务env:setTZ
来设置时区。 是的,虽然设置时区可能会有问题,但build议似乎是,只要你只做一次,你可以: https : //groups.google.com/d/msg/nodejs/rt8EFR6gdi8/i2Fdp2vDPFQJ
你可以设置TZ一次,进一步的变化将不会被拿起。
幸运的是,这足够我的用例,它对我来说工作得很好。