将节点命令作为咕噜驱动的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一次,进一步的变化将不会被拿起。

幸运的是,这足够我的用例,它对我来说工作得很好。