2013-03-27 11 views
21

जब मैं SpecRunner HTML फ़ाइल चलाता हूं तो मुझे यह त्रुटि मिलती है।संदर्भ त्रुटि: इंजेक्ट को परिभाषित नहीं किया गया है

आसपास देख रहे हैं, यह angular-mocks.js संदर्भित नहीं है। मेरे मामले में इसका संदर्भ दिया जा रहा है।

SpecRunner.html: ReferenceError: inject is not defined

मैं देख सकता हूँ कि angular-mocks.js संदर्भित है और यह एक कैशिंग मुद्दे के रूप में मैं इसे का उपयोग कर देख सकते हैं नहीं है:

<link rel="stylesheet" type="text/css" href="lib/jasmine-1.3.1/jasmine.css"> 
    <script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script> 
    <script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script> 
    <script type="text/javascript" src="lib/angular-mocks.js"></script> 

    <!-- include source files here... --> 
    <script type="text/javascript" src="../main/static/js/controllers/norm-definitions-controller.js"></script> 

जब परीक्षण चलाए जा रहे हैं, मैं इस अपवाद Firebug।

angular-mocks.js में देख रहे हैं मैं पूर्ण संदर्भ angular.mock.inject = function() { ... } देख सकता हूं, मैंने इसे संदर्भ के रूप में भी आजमाया है, और अपवाद ReferenceError: angular is not defined प्राप्त किया है।

+1

सुनिश्चित करें कि आपके पास स्क्रिप्ट निर्भरता नहीं है। –

उत्तर

25

आपको अभी भी angular.js lib की आवश्यकता है। मैंने इसे अपनी लिपियों में नहीं देखा था। यह angular-mock.js से पहले होना चाहिए।

1

त्रुटियाँ जो जबकि अपनी परियोजना का परीक्षण करने के लिए कर्म और चमेली जोड़ने आने के लिए,

  • अपने Angular.js और कोणीय-mocks JS फ़ाइलों को लगता है कि दोनों एक ही संस्करण है बनाते हैं।
  • जैस्मीन संस्करण कोणीय संस्करण के साथ संगत है, यह सुनिश्चित करने के लिए जैस्मीन आधिकारिक साइट देखें कि कोई वाक्यविन्यास त्रुटि नहीं है।
  • इकाई परीक्षण पद्धतियों का पालन करने के लिए कोणीय जेएस आधिकारिक साइट पर परीक्षण गठन का संदर्भ लें।

उपर्युक्त चरण सामान्य त्रुटियों से बचने में मदद करते हैं।

संबंधित मुद्दे