esp*_*ess 3 objective-c ocmock ios
我正在尝试使用模拟NSMutableURLConnection,但OCMock不希望在NSHTTPURLRequest类别中声明的存根方法NSMutableURLConnection.
id requestMock = OCMClassMock([NSMutableURLRequest class]);
OCMStub([requestMock setHTTPBody]);
Run Code Online (Sandbox Code Playgroud)
编译器不接受第二行.我得到"ARC语义问题:选择器'setHTTPBody'没有已知的实例方法."
编译器允许我存根HTTPBody(而不是setHTTPBody)但它永远不会被调用.
任何人都知道如何获得工作存根,并让编译器在这种情况下幸福吗?
方法名称为setHTTPBody :(末尾有冒号,表示参数).冒号是方法名称的重要组成部分.编译错误是准确的; 您需要使用正确的方法名称.
你正在使用一个很好的类mock,它将为setHTTPBody提供一个空的实现:它不会做任何事情(不会存储数据),所以调用它将无助于使用访问器的其他代码.您可以尝试通过创建一个非好的模拟来找出调用哪些方法,这将为任何意外的方法抛出异常,并通过反复试验来找到真正需要的方法.或者,也许创建一个常规的NSMutableURLRequest对象,并从中创建一个局部模拟,只需要修改你需要改变的方法,但只留下其余的行为.
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |