objective-c - 在 OCMockito 模拟上使用句柄参数验证方法调用

标签 objective-c unit-testing tdd ocmockito ochamcrest

我有一个类 QuestionBuilder 的 OCMockito 模拟,方法是 questionsFromJSON:error:。此方法接受句柄 (NSError **)error 作为参数。如何验证调用了该方法?


我试过:

[verify(builder) questionsFromJSON:@"Fake JSON"
                             error:nil];

和:

NSError *err;
[verify(builder) questionsFromJSON:@"Fake JSON"
                             error:&err];


两者都发出错误:

testQuestionJSONIsPassedToQuestionBuilder (QuestionCreationTests) failed:
*** -[NSProxy doesNotRecognizeSelector:questionsFromJSON:error:] called!

最佳答案

我认为 OCMockito 还不支持这个;当我使用 given 而不是 verify 执行此操作时,当被测代码使用 ** 参数调用方法时,我会收到一个奇怪的错误。如果可能,您可能必须修改您的方法签名以不接收 NSError**(如果您可以控制该代码)。

关于objective-c - 在 OCMockito 模拟上使用句柄参数验证方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15850873/

相关文章:

ios - 现在在 objective-c iOS 中查找 EST 日期

java - 抽象类的 Jacoco 代码覆盖率部分显示

java - 是否有类似 ZenTest/Autotest for Java 和 JUnit 的东西

javascript - #describe 和 #it 方法在 TDD react 测试中做了什么?

javascript - 如何在YUI3中使用Assert.isUndefine()和Assert.isNotUndefine()?

objective-c - Cocoa 与 Cocoa Touch - 有什么区别?

objective-c - 如何在 cocoa 中创建复选框的 1 列表格 View

unit-testing - Angular 2.0.0 - 模拟文件 uploader

flutter - 用于 dart/flutter 测试的覆盖/模拟库函数

objective-c - NSSearchField - 显示带有结果的 NSMenu