我经常在我的iPhone Objective-Cunit testing中发现我想要将一个类方法(例如NSUrlConnection的+ sendSynchronousRequest:returningResponse:error:方法)存根出来。 简单的例子: – (void)testClassMock { id mock = [OCMockObject mockForClass:[NSURLConnection class]]; [[[mock stub] andReturn:nil] sendSynchronousRequest:nil returningResponse:nil error:nil]; } 运行这个时,我得到: Test Case '-[WorklistTest testClassMock]' started. Unknown.m:0: error: -[WorklistTest testClassMock] : *** -[NSProxy doesNotRecognizeSelector:sendSynchronousRequest:returningResponse:error:] called! Test Case '-[WorklistTest testClassMock]' failed (0.000 seconds). 我真的很难find任何文档,但我认为OCMock不支持类方法。 我经过了很多Googlesearch之后发现了这个技巧。 它工作,但是非常麻烦: http : //thom.org.uk/2009/05/09/mocking-class-methods-in-objective-c/ 无论如何要在OCMock内做到这一点? 或者,有人可以想到一个聪明的OCMock类别对象,可以写成这样的事情?
我已经开始与OCMock合作编写我已经集成到项目工作区中的现有项目的testing用例。 按照此链接中提到的所有步骤 当我第一次执行testing用例时,给了我这个错误。 我search了它,并尝试了一些解决scheme,如“创build新的目标”,“重新启动Xcode”,但它没有帮助我。 任何想法?