0
我是新编写单元测试。我正在尝试简单的事情,在我的saveInfo
控制器$scope.practice
函数中应该包含一个值。Angularjs单元测试错误
我正在使用webstorm来运行我的测试。我想检查saveInfo
函数$ scope.practice是否定义。
测试/ practice.js
'use strict';
describe('myApp', function() {
describe('Controller: PracticeCtrl', function() {
var $http, $scope, $routeParams, $location, $locale, $timeout;
// load the controller's module
beforeEach(function() {
// Load the controller's module
module('myApp');
inject(function ($controller, $rootScope) {
$scope = {};
});
});
it('should define a practice property', function() {
expect($scope.practice).toBeDefined();
});
});
});
practice.js - 控制器
angular.module('myApp').controller('PracticeCtrl', function ($http, $scope, $routeParams, $location, $locale, $timeout) {
$scope.saveInfo = function() {
$scope.practice = '52300099';
Practices.updateStampApproval().updateInfo($scope.practice);
};
$scope.updateInfo = function() {
....
}
$scope.getInfo = function() {
....
}
给我错误: -
Expected undefined to be defined.
Error: Expected undefined to be defined.
在我的控制器$scope.practice
定义。所以为什么它显示错误。
如何测试function
明智意味着我如何编写测试,它将只在控制器中的1个函数中进行检查,例如, 'saveInfo'?
这变得很清楚,但我有一个疑问......如果我在我的控制器中使用了一个'service',它带来了一个实践列表,我可以在我的'test.js'中调用这个服务吗? – Anup
是的。您可以模拟/存根以返回一些示例练习,因此您不必依靠服务器的数据。 – gustavohenke
我真的想要服务器的数据...因为我不会写一个模拟服务,而是使用真正的服务... – Anup