Zugriff auf JS Umfang Elemente/Variablen mit Winkelmesser
Ich habe ein Winkelmesser test, der in login-Daten an und klickt auf den login-button und ich wünschte, überprüfen Sie den Wert eines Winkel-Variablen.
Ng-klicken Sie für das angeklickte element ist doLogin() definiert ist, die controller-Datei als:
$scope.doLogin = function(){
console.log('login -- todo');
//remember email used
localStorageService.add('lastKeyEmail', $scope.data.login.key.email);
//todo - make dynamic
$scope.authentication.user = true;
//set email of logged in user
//todo: would need to be done in user service (set user details received from server)
Authentication.setEmail($scope.data.login.key.email);
//overwrite password in memory
$scope.data.login.password = "thispasswordisdeletedsoyoucantreadit";
};
Wie verwende ich Winkelmesser erwarten, dass() auf den Wert von $scope.die Authentifizierung.Benutzer?
InformationsquelleAutor Tahsis Claus | 2014-12-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Funktion namens
evaluate
, können Sie auswerten, eine eckige Ausdrücke gegeben ein element.Wählen Sie ein DOM-element, für das Sie möchten, zu prüfen, den Umfang, dann rufen Sie bewerten. Es gibt ein Beispiel in der Dokumentation:
http://angular.github.io/protractor/#/api?view=ElementArrayFinder.prototype.evaluate
InformationsquelleAutor Andres D
Mit Winkelmesser, führen Sie Ende-zu-Ende-tests (wie wenn du eine user-Klick auf die interface - Knöpfe, Anker - und Lesen, was gerendert wird - was Sie sich entscheiden, um endlich aussetzen zur Ansicht), die Sie nicht haben Zugriff auf die JavaScript-Variablen gekapselt in Ihre Controller.
Die Art von test, den Sie sprechen, das ist ein unit-test, wo man nur testen Sie Ihr
doLogin
Funktion, indem man ein $scope-Objekt aufgefüllt mit den richtigen Daten und dann behaupten Sie, dass es tut genau, was Sie erwartet, durch testen der js-Variablen.Obwohl, wenn
$scope.authentication.user
ändert die Ansicht, wenn die Einstellungtrue
(wie wenn Sie die Anzeige "Authentifizierung erfolgreich", oder sogar route zu einer anderen Ansicht), können Sie geltend machen, mit Winkelmesser, dass dieses Verhalten durch ging (indem Sie das Kontrollkästchen "Authentifizierung erfolgreich" - Meldung in den DOM, nachdem Sie ausgelöst, die loggin) - aber Bedenken Sie, dies ist immer noch der e2e-Tests.InformationsquelleAutor topheman