1

Grunt は PhantomJS を使用して、非常に興味深い方法でヘッドレス QUnit テストを実行します (間違っていたら訂正してください)。これらのツールを試し始めたばかりなので、完全には理解できておらず、構成方法も拡張方法もわかりません。

自分のマシンですべての作業を行うことができましたが、$PATH システム変数を使用したくありません。代わりに、簡単に変更して他の環境に移植できる設定を介して、PhantomJS の実行可能ファイルへのパスを提供したいと思います。

どうすればこれを達成できますか?

多くの方法があると思いますが、Grunt の Qunit タスクが簡単な答えになると思います。理想的には、grun.jsファイルのパスを次のように定義するだけで済みます。

qunit: {
      phantomjsPath: 'path/to/phantomjs',
      files: ['test/**/*.html']
    },

私の環境は MacOSX ですが、Windows のようなあらゆる種類の環境 (ビルド サーバー) のソリューションを受け入れます。

前もって感謝します。

更新私が使用している Grunt のバージョンはv0.3.17です。次の大きなバージョンであるv0.4.xには多くの変更があり、一部は下位互換性がありません。

4

2 に答える 2

2

ようやく Grunt 0.4 に移行されたと思います。そしておそらく、PhantomJS で qunit テストを実行するための grunt-contrib-qunit プラグインを入手したことでしょう。残念ながら、同じ問題が発生します。phantomjs 実行可能ファイルへのパスを指定することはできません。これは、grunt-contrib-qunit/grunt-contrib- phantomjsphantomjs がインストール時に PhantomJS をダウンロードする npm モジュールを使用し、その js コードで実行可能ファイルへのパスをハードコードするためです。このような問題が発生している場合は、私のブログ投稿を確認してください。

于 2013-09-24T12:21:23.317 に答える
1

残念ながら、grunt 0.3.x には、phantomjs へのパスを指定する組み込みオプションがありませんphantomjs。コマンド ラインで直接実行するだけです。このヘルパー関数を見てください。

https://github.com/gruntjs/grunt/blob/master/tasks/qunit.js#L231

ただし、まだリリースされていない grunt-0.4 では状況が変わったようです。

https://github.com/gruntjs/grunt-lib-phantomjs/blob/master/lib/phantomjs.js#L22

ご覧のとおり、次のバージョンの grunt は npm モジュールphantomjsを使用します。これは、「を含むパス文字列をpathphantomjs バイナリ/実行可能ファイルにエクスポートする」ものです。npm モジュールは grunt によってローカルにインストールされるため、変数の設定や競合するバージョンの のインストールphantomjsについて心配する必要がないように思われます。PATHphantomjs

いずれにせよ、あなたが最先端で生きる気があるなら、 grunt-0.4を検討することを検討したいと思います。

それ以外の場合は、いつでもタスクをフォークし、qunitタスクを変更grunt-qunitしてカスタム構成変数を確認できます。

于 2012-11-01T20:28:14.053 に答える