मेरा कोणीय 1.3 एप्लिकेशन angular-translate library का उपयोग कर रहा है। मेरे कर्म परीक्षणों में मैं $translate
प्रदाता को नकली ऑब्जेक्ट के साथ प्रक्षेपित करने का प्रयास कर रहा हूं।प्रदाता को नकल करने के लिए कैसे करें
नकली वस्तु को MockTranslate
कहा जाता है और यह myMocks
मॉड्यूल से संबंधित है। मैं प्रश्न में MockTranslate
के स्रोत को शामिल नहीं कर रहा हूं क्योंकि यह प्रश्न के लिए प्रासंगिक नहीं है।
अपने परीक्षण का विषय एक नियंत्रक है और मैं काफी आसानी से $translate
निम्नलिखित का उपयोग कर नकली कर सकते हैं: काम करता है मजाक ऊपर
module('myMocks');
inject(function($controller, MockTranslate) {
$controller("MyController", {
$translate: MockTranslate.create(translations);
});
});
The, लेकिन मेरी प्राथमिकता की तरह कुछ के साथ angular.mock.module
का उपयोग कर प्रदाता उपहास करने के लिए किया जाएगा :
:
module('myMocks');
module("myModule", function($provide) {
$provide.provider("$translate", function(MockTranslate) {
return MockTranslate.create(translations);
});
});
लेकिन जब मैं अपने परीक्षण चलाने मैं निम्नलिखित त्रुटि मिलती है
मैं angular.mock.module
का उपयोग कर प्रदाता का नकल कैसे करूं?
आप @sbedulin धन्यवाद मदद की मुझे पता है कि प्रदाता की जरूरत एक '$ get' समारोह को लागू करने। – b73
@ बी 73 आपका स्वागत है! ध्यान दें कि निर्भरता भी '$ get' फ़ंक्शन में जाती है। अगर आप उत्तर को सहायक के रूप में चिह्नित करते हैं तो बहुत अच्छा होगा :) – sbedulin
धन्यवाद @sbedulin, हाँ आप भी मेरे ध्यान में लाए कि निर्भरता '$ get' फ़ंक्शन में जाती है;) मैंने एक अलग उत्तर जोड़ा क्योंकि यह सही समाधान दिखाता है साथ में। – b73