मैं अपने spec फ़ाइल में कुछ कोड दोहराता रहता हूं जो टेम्पलेट को इंजेक्ट करता है और फिर इसे संकलित करता है। मैंने चीजों को सूखा रखने के लिए इस कोड को एक सहायक समारोह में निकाला। मेरा मानना है कि समस्या एक सहायक समारोह में beforeEach
पर रखने की कोशिश में है।मैं जैस्मीन/कोणीय के लिए एक सहायक बनाने के लिए कैसे एक से पहले
beforeEach(module('app/views/header.html'));
beforeEach(inject(function($templateCache, $compile, $rootScope) {
template = $templateCache.get('app/views/header.html');
$templateCache.put('views/header.html', template);
var directive = angular.element('<clinical-header></clinical-header>');
element = $compile(directive)($rootScope);
$rootScope.$digest();
}));
यहाँ सहायक समारोह है कि मैं बनाया जाता है: यहाँ मेरी कोड है कि मैं एक समारोह में सार कोशिश कर रहा हूँ का टुकड़ा है
var setupTemplate = function(templateName, element) {
beforeEach(module('app/views/' + templateName));
beforeEach(inject(function($templateCache, $compile, $rootScope) {
var template = $templateCache.get('app/views/' + templateName);
$templateCache.put('views/' + templateName, template);
var directive = angular.element(element);
element = $compile(directive)($rootScope);
$rootScope.$digest();
}));
और अब इस सहायक समारोह के लिए कॉल है :
setupTemplate('header.html', '<clinical-header></clinical-header>');
मेरी सहायक समारोह के अंत में, सब कुछ अच्छा लग रहा है, लेकिन जब मैं अपने it
ब्लॉक करने के लिए कूद, सब कुछ अनिर्धारित रहता है। क्या मैं एकाधिक beforeEach
निकाल सकता हूं? ऐसा करने का सही तरीका क्या है? इसके अलावा, जैस्मीन सहायक कार्यों को रखने के लिए उचित जगह कहां है और यह कैसे किया जाता है?
यह समस्या का समाधान नहीं करता । –
आप सही हैं। यह सभी परीक्षणों के लिए चलता है, भले ही उनकी फ़ाइल –
मेरी परियोजना में एक जैसी ही स्थिति है। मैंने अपने ग्लोबल 'पहले से प्रत्येक कॉल' को फ़ंक्शन के अंदर लपेट लिया है, और किसी भी परीक्षण सूट के लिए बस मेरे 'वर्णन' ब्लॉक के शीर्ष पर उस फ़ंक्शन को कॉल करें जिसकी आवश्यकता है। –