3

問題は、jasmine-jqueryがspec/fixturesフォルダーからフィクスチャーをロードしないことです。jasmine-jquery ソース コードを見ると、フィクスチャのデフォルト パスはspec/javascripts/fixturesです。私が持っているバージョンでは、spec/javascripts/fixturesフォルダーはありません。Ruby gem用のものらしい。そのjavascriptsフォルダーも作成しようとしましたが、まだロードできません。フィクスチャ フラグメントを SpecRunner.html 本体内に配置すると、機能します。

これが私のhtmlフラグメントです:

<ul class="fr">
    <li></li>
</ul>

仕様ファイル:

describe("something to describe", function() {

    it("should see a DOM element", function() {
        loadFixtures("custom.html");
        expect($(".fr")).toExist();
    });
});

それはパスのバグか何かですか?

解決済み: google-chrome の問題です。デフォルトでは、同一オリジン ポリシーにより、他のドメインへのアクセスは許可されません。解決策は、ローカル サーバーからアプリを実行するか、Firefox を使用することです。

4

1 に答える 1

4

それは確かにChromeと関係があります。これはSame-Origin Policyと呼ばれるセキュリティの概念です。

ローカル サーバーから Firefox またはアプリを実行する代わりに、セキュリティ チェックを無効にして Chrome を使用できます。

コマンドライン引数を指定して Chrome/Chromium を実行するだけ--allow-file-access-from-filesです:

google-chrome --allow-file-access-from-files

覚えて!これはセキュリティ機能であるため、無効にすると、コンピュータが危険にさらされます。ローカルの Web サイト/アプリを (別のショートカット/エイリアスを介して) テストする場合にのみ、このパラメーターを使用することをお勧めします。

于 2013-08-25T21:38:49.763 に答える