मैं एक यूआई परीक्षण चला रहा हूं जहां मुझे waitForExpectations
एपीआई का उपयोग करके एसिंक्रोनस फ़ंक्शन का परीक्षण करने की आवश्यकता है।एपीआई उल्लंघन का इंतजार करते समय waitForExpectations
मैं इस त्रुटि हो रही है:
"NSInternalInconsistencyException", "API violation - call made to wait without any expectations having been set."
मैं सच में समझ में नहीं आता, के रूप में मैं सही ढंग से उम्मीद पैदा की है। बजाय मैं XCTestExpectation()
उपयोग करने के लिए बनाने की आवश्यकता दस्तावेज़ के अनुसार एपीआई expectation(description:)
है, लेकिन संकलक कि स्वीकार नहीं करेंगे,:
इसके अलावा, वहाँ एक प्रलेखन बग हो रहा है।
func testExample() {
XCTAssertTrue(state == .STATE_NOT_READY)
let exp1 = XCTestExpectation()
let queue = DispatchQueue(label: "net.tech4freedom.AppTest")
let delay: DispatchTimeInterval = .seconds((2))
queue.asyncAfter(deadline: .now() + delay) {
XCTAssertTrue(true)
exp1.fulfill()
}
self.waitForExpectations(timeout: 4){ [weak self] error in
print("X: async expectation")
XCTAssertTrue(true)
}
self.waitForExpectations(timeout: 10.0, handler: nil)
}
जब आप 'self.expectation (विवरण:) का उपयोग आप क्या त्रुटि क्यों मिलती है'? क्योंकि ऐसा करने का यह सही तरीका होगा, अन्यथा आपकी परीक्षा कक्षा यह नहीं जानती कि आपने अपनी उम्मीद बनाई है। – Losiowaty
यदि मैं विवरण पैरामीटर के साथ अपेक्षा बनाने की कोशिश करता हूं (exp1 = XCTestExpectation (विवरण: "ss2") दें), मुझे "तर्क के लिए पास किया गया तर्क जो कोई तर्क नहीं लेता" – onthemoon