2

私はgruntを使用してjQueryプラグインをパッケージ化しています。QUnitテストの一部として、一貫した結果を得るには、テストを開始する前にノードコマンドを実行する必要があります(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これにより、タイムゾーンを設定するタスクが定義されます。はい、タイムゾーンの設定には問題がありますが、アドバイスは、1回だけ行う限り、問題ないようです:https: //groups.google.com/d/msg/nodejs/rt8EFR6gdi8/i2Fdp2vDPFQJ

TZは一度だけ設定でき、それ以上の変更は反映されません。

幸いなことに、これは私のユースケースには十分であり、私にとっては問題なく機能します。

于 2013-02-21T11:27:15.190 に答える