2012-11-03 7 views
7

Blick durch Winkel js tutorial, ich verstehe nicht, wo der Repeater (Funktion?) Kommt in einem Jasmin-Test. Ist das ein Jasmin oder ein eckiges Konstrukt?Ist "Repeater" in diesem eckigen Tutorial ein Jasmin-Konzept?

Die Seite hat in einem <li> Element ein ng-repeat-Attribut haben - aber ich sehe nicht, wie das in dem Test zu ‚Repeater‘

zum Referenz übersetzt
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"]); 
    }); 

Antwort

7

Die repeater ist kein Jasmin konstruieren, Es ist AngularJS e2e Szenario-Tester-Konzept.

Die repeater Funktion im DSL durch den AngularJS e2e Szenario Läufer und seine Definition hier gesehen werden kann definiert: https://github.com/angular/angular.js/blob/master/src/ngScenario/dsl.js#L249 ist die entsprechende Dokumentation zu finden: http://docs.angularjs.org/guide/dev_guide.e2e-testing

Es soll beachtet werden, dass selbst wenn AngularJS Anwendungen Jasmin-Syntax für seine Ende-zu-Ende-Test, diese e2e Tests sind nicht Jasmine Tests, sie passieren nur sehr ähnliche Syntax verwenden. Der Zweck des AngularJS ngScenario Läufers besteht darin, End-to-End-Tests in einem Browser auszuführen und Matcher eng an die Browserumgebung (DOM, Standort usw.) anzupassen. Jasmine konzentriert sich mehr auf Komponententests und hat Matcher für JavaScript-Objekte.

Die erwähnte repeater ist nur eine Möglichkeit zum Zählen von DOM-Objekt mit einem jQuery-Selektor und es ist wahr, dass normalerweise verwendet wird, um DOM-Element von der ngRepeat-Direktive produziert zu zählen.