gpt4 book ai didi

ios - OCMock 无法 stub 类别方法

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:56 26 4
gpt4 key购买 nike

我正在尝试使用 NSMutableURLConnection 的模拟,但 OCMock 不想 stub 在 NSMutableURLConnection NSHTTPURLRequest 类别中声明的方法.

id requestMock = OCMClassMock([NSMutableURLRequest class]);
OCMStub([requestMock setHTTPBody]);

编译器不会接受第二行。我收到“ARC 语义问题:选择器‘setHTTPBody’没有已知的实例方法。”

编译器允许我 stub HTTPBody(与 setHTTPBody 相对)但它永远不会被调用。

在这种情况下,有人知道如何得到一个工作 stub 让编译器满意吗?

最佳答案

方法名为setHTTPBody:(末尾有冒号,表示参数)。冒号是方法名称的重要组成部分。编译器错误是准确的;您需要使用正确的方法名称。

然而,您正在使用一个不错的模拟类,它将有一个空的 setHTTPBody 实现:它不会做任何事情(不会存储数据),因此调用它对使用访问器的其他代码没有帮助。您可以尝试通过创建一个非好的模拟来找出确实调用了哪些方法,这将抛出任何意外方法的异常,并通过反复试验找到真正需要的方法。或者,也许创建一个常规的 NSMutableURLRequest 对象,并从中创建一个部分模拟,仅 stub 您需要更改的方法,而让其余行为保持不变。

关于ios - OCMock 无法 stub 类别方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com