2

我正在使用 grunt 来打包我的 jQuery 插件。作为 QUnit 测试的一部分,我需要在测试开始之前运行 node 命令以获得一致的结果(就像process.env.TZ = 'Europe/London'我的插件处理时区一样,因此不同时区的结果会有所不同)。

所以我的问题是:如何在 qunit 测试中运行特定于节点的命令?

谢谢。

4

2 回答 2

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

注意:未经测试。

于 2013-02-16T22:11:16.563 回答
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,不会获取进一步的更改。

幸运的是,这对我的用例来说已经足够了,而且对我来说也很好用。

于 2013-02-21T11:27:15.190 回答