के लिए नकली क्षेत्र परिणाम मैं मान्य करने के लिए एक परीक्षण लिखा है, इसकी एक समारोह में कहा जाता है:कैसे करें परीक्षण
func test_getTaskLists_doNotCreateOrUpdateTaskListToStorageWhenSynchedLocally() {
...
let (datasource, restAPI, fakeTaskListStorage) = ...
datasource.getTaskLists() { (taskLists, error) -> Void in
...
XCTAssertEqual(1, fakeTaskListStorage.readAllInvocationCount)
...
}
...
}
समारोह सुपर कार्यान्वयन बायपास करने के लिए मज़ाक उड़ाया जाता है और मुद्दा यह है कि समारोह एक परिणाम देता है जो मैं एक वैध ऑब्जेक्ट वापस करने के लिए निर्माण/नकली बनाने के लिए पता नहीं लगा सकता है, इसलिए संकलक शिकायत करना बंद कर देता है ... मुझे पता है कि मैं सिर्फ super.readAll() को कॉल कर सकता हूं लेकिन यहां मैं वास्तव में अपने टेस्ट डेटा (fakeTaskLists) को एक कन्वर्ट करना चाहता हूं नकली परिणाम वस्तु इसलिए हर कोई खुश है ... सुनिश्चित नहीं है कि यह संभव है
class FakeTaskListsStorageRealm : TaskListStorageRealm {
var fakeTaskLists:[TaskList]?
override func readAll() -> RealmSwift.Results<TaskList> {
readAllInvocationCount += 1
//Here I want to return fakeTaskLists somehow...
}
}
मैं इसी तरह की आवरण है और इस दृष्टिकोण काम कर रहा है इस बात की पुष्टि कर सकते हैं - मैं सरणी के साथ आवरण के कार्यान्वयन है तो मैं in- का उपयोग नहीं करते स्मृति क्षेत्र। – ReDetection