2012-11-03 11 views
7

Patrząc przez kątowe js tutorial, nie rozumiem skąd wznawia się funkcja (funkcja?) W teście jaśminowym. Czy to jaśmin, czy kanciasta konstrukcja?Czy "repeater" w tym kanciastym samouczku jest pojęciem jaśminu?

strona ma atrybut NG-repeat w elemencie <li> - ale ja nie widzę w jaki sposób przekłada się odniesienie do „repeater” w teście

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"]); 
    }); 

Odpowiedz

7

repeater nie jest Jasmine budowy, jest to tester scenariusza AngularJS e2e.

Funkcja repeater jest zdefiniowana w DSL wykorzystywanego przez angularjs scenariusza e2e biegacza i jego definicji można zobaczyć tutaj: https://github.com/angular/angular.js/blob/master/src/ngScenario/dsl.js#L249 Odpowiednia dokumentacja znajduje się pod adresem: http://docs.angularjs.org/guide/dev_guide.e2e-testing

Należy zauważyć, że nawet jeśli angularjs zastosowania Składnia jaśminowa do testu end-to-end, testy e2e są testami jaśminowymi, a więc używają bardzo podobnej składni. Celem biegacza AngularJS ngScenario jest przeprowadzanie testów end-to-end w przeglądarce i stosowanie dopasowań jest ścisłe w środowisku przeglądarki (DOM, lokalizacja itp.). Jasmine koncentruje się bardziej na testach jednostkowych i ma narzędzia dopasowujące dla obiektów JavaScript.

Wymieniony jest po prostu sposobem zliczania obiektu DOM z selektorem jQuery i prawdą jest, że jest zwykle używany do liczenia elementu DOM wytworzonego przez dyrektywę ngRepeat.

Powiązane problemy