我正在使用 Jasmine对我的 Angular 应用程序进行单元测试。如何在我的 Controller 中测试表单验证?比如我有一个登录功能:
$scope.login = function() {
if($scope.form_login.$valid) {
//send request with username and password
};
};
我正在尝试将 $valid
设置为 true
,但我无法访问此处的表单。我得到一个错误 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();
})
最佳答案
单元测试不应该真正测试表单。要测试表单和其他与 Controller 无关的事情,请使用端到端测试。
但是,如果您真的想在单元测试中测试验证,请参阅 To test a custom validation angularjs directive或 How to unit test angularjs form?
关于javascript - Angularjs - 如何单元测试表单验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36928333/