我有一个数据管理器,它从服务器获取一个json文件,我想使用自己的json文件测试该调用。我将Siesta
用于API,并将OHHTTPStubs
用于存根,但是由于某些原因,存根不起作用。这是我使用它的步骤:
我将OHHTTPStubs添加到了pod文件:
pod 'OHHTTPStubs/Swift'
在测试方法中,我这样写:
func testGetData() {
stub(condition: isPath("https://www.test.com/data")) { request in
let stubPath = OHPathForFile("testData.json", type(of: self)) // break point
return fixture(filePath: stubPath!, headers: ["Content-Type":"application/json"])
}
let expectation = self.expectation(description: "calls the callback with a resource object")
manager.getData(onSuccess: { (data) in
XCTAssertGreaterThan(data.count, 0, "Failed to get data")
expectation.fulfill()
}) { (error) in
XCTFail()
}
self.waitForExpectations(timeout: 0.5, handler: .none)
}
我在存根的闭包内放置了一个断点,但没有输入断点。
我也尝试过isHost("test.com")
和isMethodGET()
,但还是没有:(
PS:json文件的路径为test.com/data/data.json