के साथ इकाई परीक्षण सेवा को हल करने का वादा नहीं करता है, मैं एक कोणीय.जेएस सेवा का परीक्षण करने की कोशिश कर रहा हूं, और एक नकली सेवा (जैस्मीन का उपयोग करके) से लौटाए गए वादे पर एक अपेक्षा निर्धारित करने की आवश्यकता है। मैं कर्म इकाई परीक्षण ढांचे का उपयोग कर रहा हूँ। प्रासंगिक कोड का टुकड़ा नीचे है:Angular.js कर्मा
// I can't figure out how to do the equivalent of a $scope.$digest here.
var loginStatusPromise = FacebookService.getFacebookToken();
loginStatusPromise.then(function(token) {
expect(false).toBeTruthy(); // If this test passes, there is something going wrong!
expect(token).not.toBeNull(); // The token should be ValidToken
expect(token).toBe('ValidToken');
});
पूर्ण इकाई परीक्षण कोड here देखा जा सकता है।
समस्या यह वादा है। जब कर्मा निष्पादित हो रहा है तो कथित तौर पर कथन नहीं होता है। इसलिए, मेरे उम्मीदवारों में से कोई भी कथन निष्पादित नहीं किया जाता है। मेरे नियंत्रक परीक्षणों में, मैं वादे को हल करने के लिए $ scope। $ Digest() का उपयोग करता हूं, लेकिन मुझे यह नहीं पता कि सेवा परीक्षण में इसे कैसे किया जाए। जैसा कि मैंने सोचा था कि सेवा परीक्षण में 'स्कोप' की कोई धारणा नहीं थी।
क्या मेरे पास छड़ी का गलत अंत है? क्या मुझे अपने सर्विस टेस्ट में $ रूटस्कोप को इंजेक्ट करने की आवश्यकता है और फिर $ पाचन का उपयोग करें? क्या कोई और तरीका है?
मेरे उत्तर पर कोई प्रतिक्रिया? –
हां, नीचे देखें। $ RootScope को कॉल करना। $ Digest() या तो काम नहीं कर रहा है। यहां कुछ और खेलना है। अद्यतन कोड से लिंक नीचे दिखाया गया है। – Bradley