मैं एक कोणीय जेएस 1.5 (वेबपैक के साथ) घटक के एक (बच्चे) नियंत्रक का परीक्षण करने की कोशिश कर रहा हूं जिसके लिए एक मूल घटक और किसी अन्य मॉड्यूल से नियंत्रक की आवश्यकता होती है।कोणीय 1.5 यूनिट परीक्षण नियंत्रक जिसके लिए पैरेंट घटक के नियंत्रक की आवश्यकता होती है
बाल नियंत्रक संरचना:
function ChildController() {
var vm = this;
vm.searchText = '';
vm.submit = function() {
var data = {};
data['srch'] = vm.searchText;
vm.parentCtrl.submitTextSearch(data);
};
}
module.exports = ChildController;
बाल घटक:
var template = require('./child.html');
var controller = require('./child.controller');
var childComponent = {
require: {
parentCtrl: '^parent'
},
template: template,
controller: controller,
controllerAs: 'vm'
};
module.exports = childComponent;
तो मैं करना चाहते हैं क्या parentCtrl कि childController के प्रस्तुत() में आवश्यक है बाहर उपहास करने के लिए है - कार्य करते हैं। मैं वास्तव में ऐसा करने में असमर्थ हूं। मुझे कुछ समान बाल-अभिभावक निर्देश समाधान मिले हैं और उनको आजमाया है, उदाहरण के लिए this child-parent directive example में वर्णित नकली HTML-element के माध्यम से अभिभावक नियंत्रक को इंजेक्शन देना और मूल रूप से वही stackoverflow solutions कोई परिणाम नहीं है। मेरी समस्या कम से कम इस तथ्य में भिन्न है कि बच्चे और अभिभावक नियंत्रक विभिन्न मॉड्यूल में हैं। और मुझे लगता है कि स्कोप-ट्रिक्स इतनी कोणीय 1.5-शैली नहीं हैं?
मेरी जैस्मीन परीक्षण का कंकाल मेरे विफल रहा है नकली प्रयास के बिना:
describe('child component', function() {
describe('child controller', function() {
var controller;
beforeEach(angular.mock.module('child'));
beforeEach(inject(function(_$componentController_) {
controller = _$componentController_('child');
}))
it('should work', function() {
controller.searchText = "test";
controller.submit();
})
})
})
कि TypeError: Cannot read property 'submitTextSearch' of undefined
का परिणाम है। माता-पिता नियंत्रक को नकल करने के लिए मुझे क्या करना चाहिए? कोणीय में मेरे सीमित अनुभव के साथ, मैं विचारों से बाहर हूं।
मैंने कोशिश की है लेकिन मेरे लिए काम नहीं करता है। अभी भी "नियंत्रक" 'प्राप्त कर रहा है, निर्देश' 'द्वारा आवश्यक, पाया नहीं जा सकता! "। –
क्या आप अपने कर्म विन्यास के बारे में निश्चित हैं? शायद कुछ फाइलें लोड नहीं हो रही हैं। – asoriano