मैं इस नियंत्रक का परीक्षण करने केकर्म इकाई परीक्षण में कोणीय मूल्य और कोणीय निरंतर इंजेक्षन कैसे करें?
/controllers/datetimepicker.js
angular.module('c2gyoApp')
.value('smConfig', {
rate: 'A',
tariff: 'classic'
})
.controller('DatetimepickerCtrl', [
'$scope',
'stadtmobilRates',
'smConfig',
function($scope, stadtmobilRates, smConfig) {
...
$scope.getCurrentRate = function(rate, tariff) {
// studi and classic have the same rates
if (tariff === 'studi') {
tariff = 'classic';
}
return stadtmobilRates[tariff][rate];
};
...
}
]);
मैं नियंत्रक को बदल दिया है के बाद से मैं परीक्षण लिखा था चाहते हैं। कुछ स्थिरांक angular.module('c2gyoApp').value('smConfig'){}
लिए चले गए हैं और मैं भी angular.module('c2gyoApp').constant('stadtmobilRates'){}
से लगातार की जरूरत है:
/services/stadtmobilrates.js
angular.module('c2gyoApp')
.constant('stadtmobilRates', {
'classic': {
'A': {
'night': 0,
'hour': 1.4,
'day': 21,
'week': 125,
'km000': 0.2,
'km101': 0.18,
'km701': 0.18
},
...
});
यह मेरा परीक्षण अब तक है:
/परीक्षण/कल्पना /controllers/datetimepicker.js
describe('Controller: DatetimepickerCtrl', function() {
// load the controller's module
beforeEach(module('c2gyoApp'));
var DatetimepickerCtrl;
var scope;
// Initialize the controller and a mock scope
beforeEach(inject(function($controller, $rootScope) {
scope = $rootScope.$new();
DatetimepickerCtrl = $controller('DatetimepickerCtrl', {
$scope: scope
});
}));
it('should calculate the correct price', function() {
expect(scope.price(10, 10, 0, 0, 'A', 'basic')
.toFixed(2)).toEqual((18.20).toFixed(2));
...
});
});
मैं परीक्षण में angular.module('c2gyoApp').value('smConfig'){}
और angular.module('c2gyoApp').constant('stadtmobilRates'){}
इंजेक्ट कैसे करूं? मैं मानक yeoman लेआउट का उपयोग कर रहा हूँ। Karma.conf फ़ाइल में सभी आवश्यक .js फ़ाइलें शामिल हैं, इसलिए यह केवल एक प्रश्न है कि कोणीय तत्वों को इंजेक्ट करना है।