- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想用以下消息声明模拟一个对象:
- (void)createWithCompletion:(void (^)(FuseResult *result, NSError *err)) 完成;
是否可以模拟此消息必须处理的 block 调用?
我读了ArgumentCaptorTest其中有 block ,但我不确定它是否相关。
最佳答案
向下滚动到 https://github.com/jonreid/OCMockito 的底部并且您会看到“为进一步断言捕获参数”。第二个示例展示了如何使用 MKTArgumentCaptor
捕获 block 参数,然后调用它。
这是一个例子:
MKTArgumentCaptor *argument = [[MKTArgumentCaptor alloc] init];
[verify(mockObject) createWithCompletion:[argument capture]];
void (^completion)(FuseResult *result, NSError *err) = [argument value];
completion(someResult, someErr);
这不会使 mockObject
以任何方式调用该 block 。相反,它捕获传递给 mockObject
的 block 。最后一步是使用您想要用于测试的任何参数调用捕获的 block 。
关于objective-c - OCMockito 模拟调用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20365568/
如何使用 OCMockito 捕获具有原始值的参数? MKTArgumentCaptor 似乎只能捕获对象类型? Xcode 说“不兼容的整数转换指针”。 最佳答案 对于原始论点,您必须跳一些舞。假设
如何获取模拟对象的调用次数? 在测试的某个特定点,我想获取某个方法的当前调用计数,然后继续测试并最终验证该方法是否被再次调用。 这会是这样的: [given([mockA interestingMet
首先我模拟了一个对象。然后我做了一些应该调用对象的特定方法的事情。调用是异步的。 所以我想验证的是:最多5秒后,应该调用mock对象的这个方法。 有什么想法吗? 最佳答案 OCMockito 不支持异
我正在尝试验证模拟对象上的函数是否根本没有使用任何参数调用。 我正在模拟的对象的函数是... - (void)registerUserWithUsername:(NSString*)username
在使用 OCMockito 时,以下效果很好: DSAPIManager *mockAPIManager = mock([DSAPIManager class]); [given([mockAPIMa
我有一个具有只读属性的类。 typedef NS_ENUM(NSInteger, MyObjectStates) { MyObjectStatesUnknown, MyObjectStat
我使用 OCMock 对类 lvl 方法进行 stub ,效果很好。现在我需要使用 OCMockito 实现相同的行为。 在 OCMock 中我有以下内容: _mock = mockClass([My
我在 ClassA 中有这两个方法 -(IBAction)onSubmit; -(void)validateName:(NSString*)name; @实现 - (IBAction)onSubmit
我有一个 View Controller ,它在 viewDidLoad 期间将自己添加为 UIApplicationDidBecomeActiveNotification 的观察者。我想验证是否发生
我正在尝试测试基于 Storyboard的应用程序。该场景是一个导航 Controller ,里面有一个 View Controller 。测试是执行 segue 将 View Controller
这是我的单元测试的伪代码: int invocationCount given(mock).willDo { invocationCount++ return value } doSo
我无法编译这段代码: [verify(mockedContext) deleteObject:item1]; [verify(mockedContext) deleteObject:item2]; [
方法签名: - (void)updateFeaturesButtons:(NSInteger)gameId category:(FeatruesCategory)ca
OCMockito documentation claims it's possible to mock class objects ,但如果我能弄清楚怎么做,我该死。以下测试因 Expected "
对于 iOS tdd 测试/模拟,您会推荐哪个框架?我听说 OcMock 存在时间更长,而且更轻量级。任何人都可以提供一些优缺点的例子或演示每个的一些优点。我只是在寻找一个快速的标准模拟框架,但我想知
对于方法签名 - (void)insertValue:(NSUInteger)value; 我正在尝试查看是否永远不会调用任何值的 insertValue。 [verifyCount(test, ne
我想用以下消息声明模拟一个对象: - (void)createWithCompletion:(void (^)(FuseResult *result, NSError *err)) 完成; 是否可以模
我有一个类 QuestionBuilder 的 OCMockito 模拟,方法是 questionsFromJSON:error:。此方法接受句柄 (NSError **)error 作为参数。如何验
我正在尝试使用 OCMockito 来 stub NSJSONSerialization 方法。我以为我有一个解决方案,但事实证明它会导致此异常: *** -[__NSArrayM objectAtI
我在 Xcode 5 上使用 Cocoapods 设置 OCMockito(和 OCHamcrest)时遇到问题。这是我的 Podfile: platform :ios, '5.0' pod 'Res
我是一名优秀的程序员,十分优秀!