草庐IT

stubbing

全部标签

ios - stub [[SomeClazz alloc] init] 不工作但接受的答案说它应该工作

我测试的功能很简单:@implementationMyHandler...-(void)processData{DataService*service=[[DataServicealloc]init];NSDictionary*data=[servicegetData];[selfhandleData:data];}@end我使用OCMock3对其进行单元测试。我需要stub[[DataServicealloc]init]以返回一个模拟实例,我尝试了answerfromthisquestion(这是一个公认的答案)stub[[SomeClazzalloc]init]://Stub'al

iphone - 为什么我的 OCMock 期望和 stub 在 iOS 5 中失败?

我有一些简单的模拟对象,其中设置了一些stub和期望。当我在iOS4.3模拟器上运行测试时,一切都通过了。当我在iOS5上运行时,出现“意外调用方法”故障。作为示例,我有一个方法-(void)foo:(NSString*)bar我为其设置了期望值然后运行。结果是unexpectedmethodinvoked:foo:@"foobar"expected:foo:@"foobar"有人知道为什么会这样,或者如何解决?测试本身非常好,并且已经在iOS4中运行了几个月。 最佳答案 抱歉现在才看到。已经修复了一段时间https://githu

ios - OCMockito 可以 stub 采用 `const void *` 参数的方法吗?

我的MessageSerializer类有一个方法,其签名如下所示:-(Message*)deserialize:(constvoid*)bufferlength:(NSUInteger)length;我可以使用OCMockito来stub吗?其中serializer是我的模拟序列化器,编译器在我的测试方法中批准了以下所有这些形式:[given([serializerdeserialize:[databytes]length:[datalength]])willReturn:message];[given([serializerdeserialize:(__bridgeconstvoi

ios - OCMockito stub 单例共享实例方法

我使用OCMock对类lvl方法进行stub,效果很好。现在我需要使用OCMockito实现相同的行为。在OCMock中我有以下内容:_mock=mockClass([MySingletonclass]);OCMStub([_mocksharedSingleton]).andReturn(_mock);在我的例子中,我必须stubsharedSingleton方法,因为它在测试期间在多个地方使用。 最佳答案 OCMock直接stub单例的能力是通过方法调配完成的。对于OCMockito,我有意避免这种方法。我建议您使用某种形式的De

objective-c - 如何在 iOS 5 运行时为基于状态的测试 stub /注入(inject) View Controller ?

我正在寻找一种“最佳实践”/“低测试阻力”的方法来对我的AppDelegate基类中的ViewController进行基于状态的测试。目前,当在类的方法中发生某些事情时,下面提供了一种简单的方法来stub我自己的UIViewController(使用ocmock)。-(FirstViewController*)getFirstViewController{if(self.viewController1){returnself.viewController1;}self.viewController1=[[FirstViewControlleralloc]initWithNibName:

ios - 为什么我不能使用 OCMock stub 这个 GKTurnBasedParticipant 方法?

这是一个OCUnit测试,它简单地stub了GKTurnBasedParticipant的方法playerID:#import#import"OnlineMatchTest.h"#import"OCMock.h"@implementationOnlineMatchTest-(void)setUp{GKTurnBasedParticipant*participant=[OCMockObjectmockForClass:[GKTurnBasedParticipantclass]];[[[(id)participantstub]andReturn:@"123"]playerID];}-(vo

ios - 是否可以使用 OCMock stub NSProcessInfo?

我想stub[[NSProcessInfoprocessInfo]operatingSystemVersion]以获取任何操作系统版本。idprocessInfoMock=OCMClassMock([NSProcessInfoclass]);[OCMStub([processInfoMockoperatingSystemVersion])andReturnValue:NULL];NSOperatingSystemVersionosVersion=[[NSProcessInfoprocessInfo]operatingSystemVersion];但iOS模拟器的操作系统版本被返回。是否

ios - 无法使用 OCMock stub [CLLocationManager AuthorizationStatus]

我尝试stubAuthorizationStatus,但无论我做什么,它总是返回kCLAuthorizationStatusResticted。OCMStub([CLLocationManagerauthorizationStatus]).andReturn(kCLAuthorizationStatusAuthorizedAlways);我做错了什么? 最佳答案 一般来说,您不会对真实类或实例的调用stub。在这种情况下,当您应该在mock上stub调用时,您在类上stub调用。您将必须创建一个模拟类,然后将方法调用stub到该模拟

ios - OCMock stub isSelected 属性

我正在尝试在UIButton上stub选定的属性。setter/getter定义为:@property(nonatomic,getter=isSelected)BOOLselected;我的stub看起来像这样:[[[buttonstub]andReturnValue:OCMOCK_VALUE(TRUE)]isSelected];我在运行测试时收到以下错误:Returnvaluedoesnotmatchmethodsignature;signaturedeclares'c'butvalueis'i'.我认为这与getter=isSelected部分有关,但不确定发生了什么是否可以stu

连接sqlite3报错:go-sqlite3 requires cgo to work. This is a stub

连接sqlite3报错:go-sqlite3requirescgotowork.Thisisastub报错信息:Windows解决办法1.新建环境变量2.出现新的报错3.安装GCC3.1进入Sqlite3官网3.2找到Windows部分3.2点击下载链接3.3按自己喜好下载一个3.4安装到这里就成功解决了!!!报错信息:registerdbPingdefault,Binarywascompiledwith‘CGO_ENABLED=0’,go-sqlite3requirescgotowork.ThisisastubWindows解决办法1.新建环境变量2.出现新的报错报错信息:Failedtob