我正在使用grunt打包我的jQuery插件。作为QUnit测试的一部分,我需要在测试开始之前运行一个node命令以获得一致的结果(类似process.env.TZ = 'Europe/London'
,因为我的插件处理时区,因此不同时区的结果会有所不同)。
所以我的问题是:如何在qunit测试中运行特定于节点的命令?
感谢。
答案 0 :(得分:0)
创建你自己的grunt任务并从里面调用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
注意:未经测试。
答案 1 :(得分:0)
嗯,经过一番研究后,我遇到了grunt-env @ https://github.com/onehealth/grunt-env
允许在gruntfile中定义不同的环境任务,例如
env: {
setTZ : {
TZ : 'Europe/London'
}
}
将定义任务env:setTZ
以设置时区。是的,虽然设置时区可能会有问题,但建议似乎是只要你只做一次,你就可以了:https://groups.google.com/d/msg/nodejs/rt8EFR6gdi8/i2Fdp2vDPFQJ
您只需设置一次TZ,就不会再获得更改。
幸运的是,这对我的用例来说足够了,它对我来说效果很好。