Ich verwende Jasmine, um meine Angular App zu testen. Wie kann ich die Formularvalidierung in meinem Controller testen? Zum Beispiel habe ich eine Login-Funktion:Angularjs - Wie man die Testformularvalidierung einstellt
$scope.login = function() {
if($scope.form_login.$valid) {
//send request with username and password
};
};
Ich versuche $valid
zu true
zu setzen, aber ich kann das Formular hier nicht zugreifen. Ich habe einen Fehler TypeError: Cannot set property '$valid' of undefined
:
it('should not send request if form validation fails', function() {
$controller('loginController', {$scope: $scope});
$scope.form_login.$valid = true;
$scope.login();
})
richtige Antwort, bewegen so viel Code Logik wie möglich aus dem Blick in die Steuerung und Test-Controller-Code mit Unit-Tests, Verwendung Winkelmesser e2e-Tests für Formprüfung – danday74
@ danday74 Wenn ein Dienst verwenden, um anmelden, ich testen konnte Service wurde nicht die Methode in einem Unit-Test-Ansatz genannt, und auch könnte ich in einem Integrationsansatz mit e2e Winkelmesser testen –