2012-11-03 10 views
7

角度js tutorialを見てみると、リピータ(機能?)がジャスミンテストのどこから来るのか分かりません。これはジャスミンか角張った構造ですか?この角度チュートリアルの「リピーター」はジャスミンのコンセプトですか?

ページは<li>要素でNGリピート属性を持っている - しかし、私はそれがテスト

it('should be possible to control phone order via the drop down select box', 
    function() { 
    //let's narrow the dataset to make the test assertions shorter 
    input('query').enter('tablet'); 

    //where does 'repeater' below come from? 
    expect(repeater('.phones li', 'Phone List').column('phone.name')). 
    toEqual(["Motorola XOOM\u2122 with Wi-Fi", 
    "MOTOROLA XOOM\u2122"]); 

    select('orderProp').option('Alphabetical'); 


    expect(repeater('.phones li', 'Phone List').column('phone.name')). 
    toEqual(["MOTOROLA XOOM\u2122", 
    "Motorola XOOM\u2122 with Wi-Fi"]); 
    }); 

答えて

7

repeaterジャスミンが構築されていないに「リピーター」への参照に変換する方法を見てはいけません、 AngularJS e2eシナリオテスターの概念です。

repeater機能がAngularJS E2Eシナリオランナーとその定義が使用するDSLで定義され、ここで見ることができます:https://github.com/angular/angular.js/blob/master/src/ngScenario/dsl.js#L249 対応するドキュメントは次の場所にあります。それは、たとえAngularJSの用途ことに留意すべきであるhttp://docs.angularjs.org/guide/dev_guide.e2e-testing

そのエンドツーエンドのテストのためのジャスミンの構文は、これらのe2eテストはではなく、ジャスミンテスト、ちょうど非常に似た構文を使用することが起こります。 AngularJS ngScenarioランナーの目的は、ブラウザーでエンドツーエンドのテストを実行することです。ブラウザ環境(DOM、場所など)に厳しいマッチャーが使用されます.Jasmineは、単体テストに重点を置いており、JavaScriptオブジェクトのマッチャーを備えています。

上記のrepeaterは、jQueryセレクタが指定されているDOMオブジェクトを数える方法に過ぎず、ngRepeatディレクティブによって生成されたDOM要素を数えるために通常使用されます。

関連する問題