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