問題タブ [grunt-contrib-qunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
429 参照

phantomjs - Proxy configuration for PhantomJS through grunt (qunit)

I'm attempting to run integration tests via grunt-contrib-qunit. I've set the --proxy flag via the options object, every ajax request returns a 404 (not found) error.

Gruntfile.js

The QUnit test itself fails with a 404 on the most trivial AJAX request:

test/index.html

Fails with:

It's worth noting that explicitly referencing the host (url: 'http://192.168.1.1:8080/svc/version') works fine, so it's not a same-origin issue.


References: grunt-contrib-qunit, PhantomJS, grunt-lib-phantomjs, SO "Proxy in PhantomJS"

0 投票する
1 に答える
722 参照

node.js - AJAX リクエストの QUnit と PhantomJS のテストは、プロキシ経由でのみ機能します

grunt-contrib-qunitWindows 8 で Phantom を使用して、ヘッドレス モードで既存の qunit テスト (ajax 要求結果の解析のテスト) のスイートを実行しようとしています。

次のシナリオでは、テストは正常に完了します。

  • Fiddler または別のプロキシが実行されていないブラウザからリモート ページに直接アクセスした場合
  • Phantom がFiddler を開いて実行ているコマンド プロンプトからテストを実行する場合

奇妙なことに、フィドラーを開いてリクエストを監視していないと、テストしているAJAXリクエストが初期化されないようです。デフォルトの IE LAN 設定を確認しましたが、有効になっているプロキシはありません。[自動検出設定] チェックボックスをオンにしてみましたが、変更はありません。

何かご意見は??

私のセットアップの詳細:

  • ノード v0.10.4
  • 最新grunt-contrib-qunit
  • ウィンドウズ8
  • QUnit は 4 つまたは 5 つのモジュールに分割され、一部のモジュールではセットアップおよびティアダウン タスク、非同期および同期テスト、autorun は false に設定されています。

アップデート:

「クライアント接続の再利用」と「サーバーへの接続の再利用」の Fiddler のオプションをオフにすると、Fiddler がオフの場合と同じ障害動作が発生するようです。これにより、接続が時期尚早に閉じられるという問題があると思われるようになったので、カスタムのキープアライブ ヘッダーを設定しようとしましたが、それでもエラーが発生します。

更新 2:

ページ自体は正常に読み込まれますが、リクエストは失敗するため、これにはまだ疑問がありますが、これはおそらく NTLM 認証に関連しているようです。Fiddler は何らかの方法でハンドシェイクを促進する可能性があります。Phantom github ページ に、NTLM に関する未解決の問題があります。

更新 3:

今晩トラブルシューティングを続けたところ、問題は POST リクエストの認証のみにあるようです。GET リクエストは正常に機能しているようです。私は今のところ、ASHX ハンドラを介してすべてのリクエストをルーティングし、認証コンポーネントをドロップすることで、この問題を回避しています。変更する必要があったのは、ファントムの Web セキュリティを無効にして、クロスドメイン リクエストを通過できるようにすることだけでした。

0 投票する
1 に答える
1548 参照

gruntjs - Grunt qunit が失敗する

以下のように、qunit タスクを grunt に設定しました。

jsHint は正常に動作しています。しかし、qunitを使用するとエラーが発生します:

「qunit:ac」(qunit) タスクを実行中 警告:「in」演算子を使用して「src」を検索することはできません

0 投票する
2 に答える
733 参照

javascript - QUnit テストで PhantomJS viewportSize を設定する

さまざまなビューポート サイズでスクリプトをテストする必要があります。私のテストでは、page.viewportSize を設定して PhantomJS のビューポート サイズを変更したいと考えています。grunt-contrib-qunit を使用してテストを実行していますが、テスト コードで PhantomJS にアクセスできません。それにアクセスする方法はありますか?

0 投票する
5 に答える
7611 参照

javascript - 失敗しても特定のタスクを継続する

特定の後続のタスク (バッチ全体で --force は必要ありません) が失敗しても実行されるように、一連のタスクを構成する方法はありますか? たとえば、このようなケースを考えてみましょう

  1. いくつかの一時ファイルを作成します
  2. これらの一時ファイルを含むいくつかの単体テストを実行します
  3. これらの一時ファイルをクリーンアップします

私がすることができます:

ただし、qunit が失敗した場合、removeTempFiles タスクは実行されません。

0 投票する
2 に答える
345 参照

phantomjs - PhantomJS、Qunit、Grunt のテスト ブラウザーのウィジェットのサイズ変更

jQuery UI WidgetDIV/物のサイズを変更してブラウザー画面を埋める を作成しました。unit testsすべて正常に動作しますが、サイズ変更や境界の維持などをテストするために作成したいと思います。

Gruntwithgrunt-contrib-qunitを使用しています。これPhantomJSはテストを行うために使用しますが、JS を介してブラウザーのサイズを変更することはできないため、この時点でブラウザーのサイズ変更をテストする方法がわかりません。おそらく、PhantomJS は実行時に変更できるものを提供しているでしょうか?

0 投票する
1 に答える
988 参照

javascript - Qunit テスト プロパティがオブジェクトに存在する

QunitJavaScript でテスト エンジンを使用しており、オブジェクトにプロパティが存在するかどうかを確認する必要があります。

これが私のセットアップです:

この関数は、成功validate_foo()すると空のオブジェクトを返すか、各エラーのプロパティを持つオブジェクトを返します。{}たとえば、validate_foo()equalsとfooequalfooを期待します。したがって、2 番目のテストでは、結果は次のようになります。barbar

これを達成するためのテストをどのように書くのですか?

0 投票する
1 に答える
873 参照

gruntjs - grunts grunt-contrib-qunit で実行された qunit テストは、デフォルトのテスト フォルダーの外で失敗します

qunit テストを実行できる唯一の場所は、 https://github.com/gruntjs/grunt-contrib-qunitのこの情報に従って、html および js ファイルが grunt-contrib-qunit\test フォルダー内にある場合です。

プロジェクト ルートの一部として "tests" フォルダーがあるなど、そのテスト フォルダーの外にあるものはすべて機能しません。

デバッグ モード (grunt qunit:defaultTests --debug) で実行すると、phantomJS がタイムアウトし、「onResourceRequested」に qunit css または js ファイル、または js ファイル テストが含まれていないことがわかります。html ファイルについてのみレポートします。

contrib-qunit\test フォルダーを使用せずにこれを設定する方法、またはそのフォルダー内のファイルしか実行できないため、どのような変更を加える必要があるかを教えてください。

0 投票する
4 に答える
15534 参照

jquery - ログステートメントで Gruntfile.js をデバッグするには?

私の Gruntfile では、次の例のように、その処理にログ ステートメントをどのように追加できますか?