5

Javascript コードの単体テストを実行している Jasmine 単体テストがたくさんあります。Jasmine-jquery プラグインを使用して DOM 操作を行っています。HTML のフィクスチャをロードするために、loadFixture を使用します。

JasmineAdapter を使用して、JsTestDriver を使用して、これらの単体テストを自動化しようとしましたが、DOM-jquery 操作を含むすべてのテストが合格しませんか? 何か問題がありますか?Jasmine-jquery を JsTestDriver で使用する方法はありますか?

4

3 に答える 3

9

この問題の解決策を見つけたので、自分で答えます。問題は、Jasmine-Jquery が ajax を使用して html フィクスチャをロードし、相対パスを使用することでした。これは、html フィクスチャが Jasmine テストを実行している HTML コンテナーに対して相対的な場所にあると想定しています。しかし、JsTestDriver は独自の「スペース」内にテストをロードしているため、Jasmine-Jquery がこれらの html フィクスチャを探す場所を変更し、JsTestDriver にそれらをロードさせる必要があります。

したがって、解決策は次のとおりです。

JsTestDriver には、静的な html ファイルをロードする機能があります。構成ファイルに次を追加します。

サーブ: - 例: サーブ: - Fixtures*.html

これで、http:localhost:9876/test/fixtures/... の形式でそれらにアクセスできるようになりました。Jasmine-jquery に、この場所からフィクスチャをロードすることを知らせます。

ほら、テストが再び機能するようになります。

于 2011-09-20T15:34:50.870 に答える
3

以前の投稿を少し明確にするために。

jsTestDriver構成ファイルに次のものがある場合:

仕える:

spec/fixtures/*_fixture.html

次に、テストスイートをオーバーライドする必要があります

jasmine.getFixtures().fixturesPath = '/test/spec/fixtures';

これは基本的に+ 構成ファイル/test/の serve セクションで宣言したパスです。jsTestDriver

于 2011-11-01T21:51:54.390 に答える
0

オープンソースのツールキットをリリースしました。これは、私を助けるだけでなく、他の人にも役立つことを願っています。これは、多くのオープンソースツールを組み合わせたものであり、すぐに使用できるrequirejsバックボーンアプリを提供します。

これには、requirejsテキストプラグインとrequirejsハンドルバープラグインを使用したより洗練されたソリューションがあります。

実行する単一のコマンドを提供します:dev Webサーバー、jasmineシングルブラウザーテストランナー、jasmine js-test-driverマルチブラウザーテストランナー、およびJavaScriptとCSSの連結/縮小。また、本番デバッグ用にアプリの縮小されていないバージョンを出力し、ハンドルバーテンプレートをプリコンパイルし、国際化をサポートします。セットアップは必要ありません。それはうまくいきます。

http://github.com/davidjnelson/agilejs

于 2013-02-16T19:28:33.803 に答える