का उपयोग करता है मुझे एक नियंत्रक का परीक्षण करने की आवश्यकता है जो इसे क्रिया को परिभाषित करने के लिए $routeParams
का उपयोग करें। हो सकता है कि यह एक परीक्षण समस्या है, या जिस तरह से मैंने नियंत्रक लिखा है, गलत है, इसलिए अब मैं एक परीक्षा नहीं लिख सकता।कोणीय परीक्षण एक नियंत्रक जो रूटपेरम्स
यहाँ मेरी नियंत्रक
angular.module('cmmApp')
.controller('UserCtrl', function ($scope, $location, $routeParams, $ionicLoading, $ionicPopup, Userservice) {
//if a user id is set retrieve user information
if(typeof $routeParams.id !== 'undefined'){
var loader = $ionicLoading.show({content: "Retrieving user data"});
var user = Userservice.get({id: $routeParams.id}).$promise;
user.then(function(res){
console.log(res);
$scope.user = res.user;
loader.hide();
});
}
//else create an empty resource
else {
$scope.user = new Userservice;
}
});
असल में मैं केवल एक संसाधन लोड करना चाहते है अगर एक आईडी प्रदान की जाती है $routeParams
है, और एक खाली संसाधन पैदा करते हैं।
और यहाँ परीक्षा है:
Controller: UserCtrl should create an epmty user FAILED
Expected { } to equal { }.
Error: Expected { } to equal { }.
at null.<anonymous> (/Users/carlopasqualicchio/Sites/CMM_Ionic/test/spec/controllers/user.js:28:24)
मैं कैसे चलाने के लिए एक परीक्षण से पहले $routeParams.id
बदलने के लिए कर्म बताओ, और आवंटित करने के लिए wonering हूँ:
'use strict';
describe('Controller: UserCtrl', function() {
// load the controller's module
beforeEach(module('cmmApp'));
var UserCtrl,
scope,
routeParams;
// Initialize the controller and a mock scope
beforeEach(inject(function ($controller, $rootScope, $routeParams, Userservice) {
scope = $rootScope.$new();
routeParams = $routeParams;
UserCtrl = $controller('UserCtrl', {
$scope: scope
});
console.log("routeParams");
routeParams = {id: 8490394};
console.warn(routeParams);
}));
it('should create an epmty user', function() {
console.log(scope.user);
expect(scope.user).toEqual({});
});
});
जब मैं grunt test
कर्म जबाब चलाने दो अलग-अलग परीक्षणों में एक अलग मूल्य (मुझे इसे पहले में शून्य करने के लिए सेट करना होगा, और दूसरे के लिए एक मूल्य)।
किसी भी मदद की सराहना की जाती है।
धन्यवाद, मैट।
आप '$ routeParams.id' के लिए एक मूल्य बताए की कोशिश की है ? –