मैं फ़ीड (आरएसएस) अनुप्रयोग विकसित करते समय AngularJS इकाई परीक्षण के साथ खेल रहा हूं। फीड रिमोट आरएसएस डेटा पार्स ला सकता है और पार्स किए गए आइटम को सहेज सकता है। प्राप्त करते समय आरएसएस के परीक्षण के लिए मैं उपयोग $ httpBackend नकली:
beforeEach(inject(function (_$httpBackend_, _feedMock_, _mockConfig_) {
_$httpBackend_.when('GET', _mockConfig_.FEED_URL).respond(_feedMock_);
}));
और फिर
नीचे$httpBackend.expectGET(mockConfig.FEED_URL);
feed.fetch();
$httpBackend.flush();
यह ठीक काम करता है।
लेकिन मुझे अद्यतन आरएसएस डेटा लाने और नई वस्तुओं को जोड़कर फ़ीड को अपने राज्य को वास्तविकता देने की आवश्यकता है। तो, फ़ीड एक ही अनुरोध करता है, लेकिन नया अद्यतन डेटा मिला। मैं कुछ इस तरह से सर्वर परिभाषा को पुन: कोशिश कर रहा हूँ:
$httpBackend.when('GET', _mockConfig_.FEED_URL).respond(feedMockUpdated);
और साथ उम्मीद और फ्लश तो एक ही आपरेशन करते हैं, लेकिन $ httpBackend पुराने डेटा (feedMock), नहीं नई (feedMockUpdated) के साथ प्रतिक्रिया। उसी अनुरोध पर विभिन्न डेटा के साथ प्रतिक्रिया देने के लिए मैं $ httpBackend कैसे बना सकता हूं?
यदि आपका टाइपप्रति का उपयोग कर आप की तरह कुछ वापस जाने के लिए होता है [ 200, feedMock, {}]। मुझे समझ में नहीं आता कि रिटर्न वैल्यू को सरणी के रूप में क्यों बनाया गया है, न कि ऑब्जेक्ट –
rob