我通过可可豆荚拉OHHTTPStubs,但我有一些问题,我不知道为什么。这是我的podFile的副本
# platform :ios, '11.3'
target 'myApp' do
use_frameworks!
target 'myAppTests' do
inherit! :search_paths
pod 'OHHTTPStubs/Swift'
end
end在我的测试文件中:
import OHHTTPStubs
@testable import myApp
class myTest: XCTestCase {
var client: CryptoCompareClient!
override func setUp() {
super.setUp()
OHHTTPStubs.onStubMissing { request in
XCTFail("Missing stub for \(request)")
}
}在这一行中:
OHHTTPStubs.onStubMissing { request in
XCTFail("Missing stub for \(request)")
}我得到以下错误:
Type 'OHHTTPStubs' has no member 'onStubMissing'我也在尝试使用OHHTTPStubs从捆绑包中加载文件:
let bundle = OHResourceBundle("myFixtures", FixtureLoader.self)!
let path = OHPathForFileInBundle(filename, bundle)!
return OHHTTPStubsResponse(fileAtPath: path, statusCode: 200, headers: nil)但是我得到了这个错误:
使用无法解析的标识符“OHResourceBundle”和使用无法解析的标识符“OHPathForFileInBundle”
我要问你们的问题是,我做错了什么,或者为什么我会得到这个错误?
我将非常感谢你的帮助。
发布于 2020-01-30 04:21:34
对于任何使用OHHTTPStubsResponse的用户,我都可以看到它被重命名为HTTPStubsResponse。
发布于 2018-07-11 23:27:15
onStubMissing不是OHHTTPStubs的属性,而是一个函数,因此您只需将()添加到已有的函数调用中,如下所示
OHHTTPStubs.onStubMissing() { request in
XCTFail("Missing stub for \(request)")
}而且它应该是有效的
对于您的第二个问题,OHPathForFileInBundle没有接受包参数,您需要从示例中发送资源文件名和包中包含该资源的类:
let stubPath = OHPathForFile("stub.txt", type(of: self))请注意,第二个参数是类,而不是包
https://stackoverflow.com/questions/49990206
复制相似问题