首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift:显示错误的OHHTTPStubs的测试实现

Swift:显示错误的OHHTTPStubs的测试实现
EN

Stack Overflow用户
提问于 2018-04-24 05:24:03
回答 2查看 958关注 0票数 0

我通过可可豆荚拉OHHTTPStubs,但我有一些问题,我不知道为什么。这是我的podFile的副本

代码语言:javascript
复制
# platform :ios, '11.3'

target 'myApp' do
  use_frameworks!
  target 'myAppTests' do
    inherit! :search_paths
   pod 'OHHTTPStubs/Swift'
  end
end

在我的测试文件中:

代码语言:javascript
复制
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)")
        }
    }

在这一行中:

代码语言:javascript
复制
    OHHTTPStubs.onStubMissing { request in
        XCTFail("Missing stub for \(request)")
    }

我得到以下错误:

代码语言:javascript
复制
Type 'OHHTTPStubs' has no member 'onStubMissing'

我也在尝试使用OHHTTPStubs从捆绑包中加载文件:

代码语言:javascript
复制
let bundle = OHResourceBundle("myFixtures", FixtureLoader.self)!
        let path = OHPathForFileInBundle(filename, bundle)!
        return OHHTTPStubsResponse(fileAtPath: path, statusCode: 200, headers: nil)

但是我得到了这个错误:

使用无法解析的标识符“OHResourceBundle”和使用无法解析的标识符“OHPathForFileInBundle”

我要问你们的问题是,我做错了什么,或者为什么我会得到这个错误?

我将非常感谢你的帮助。

EN

回答 2

Stack Overflow用户

发布于 2020-01-30 04:21:34

对于任何使用OHHTTPStubsResponse的用户,我都可以看到它被重命名为HTTPStubsResponse

票数 9
EN

Stack Overflow用户

发布于 2018-07-11 23:27:15

onStubMissing不是OHHTTPStubs的属性,而是一个函数,因此您只需将()添加到已有的函数调用中,如下所示

代码语言:javascript
复制
OHHTTPStubs.onStubMissing() { request in
    XCTFail("Missing stub for \(request)")
}

而且它应该是有效的

对于您的第二个问题,OHPathForFileInBundle没有接受包参数,您需要从示例中发送资源文件名和包中包含该资源的类:

代码语言:javascript
复制
let stubPath = OHPathForFile("stub.txt", type(of: self))

请注意,第二个参数是类,而不是包

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49990206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档