我有一个自定义视图,用作NSStatusItem的视图。我想测试在调用setNeedsDisplay之后调用drawRect。
CustomView * customView = [[CustomView alloc] initWithFrame:...];
id mockView = [OCMockObject partialMockForClass:customView];
[[mockView expect] setNeedsDisplay:YES];
[[mockView expect] drawRect:NSMakeRect(0, 0, 150, 22)];
[customView setString:@"SomeString"]; // This causes the drawRect message to be sent to customView
[mockView verify];`
最值得赞赏的任何帮助。
我得到的错误是“未调用预期方法:drawRect”
我也在使用GHUnit并覆盖了shouldRunOnMainThread以返回YES。
答案 0 :(得分:0)
将从ViewController调用drawRect:
选择器。在上面的测试代码中,您已经创建了视图,但是您没有将其添加到任何视图中,因此它根本不会被绘制,无论类中的属性如何表现。
如果您创建了一个测试视图控制器,将自定义视图添加到其中,然后调用setString选择器我会打赌您的验证将通过。