jjzjj

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

ios - 如何对 drawRect 的自定义实现进行单元测试

我正在尝试使用XCTest编写一个或多个测试来驱动drawRect方法的自定义实现的实现,但我不确定如何执行此操作。由于测试,我希望编写的代码如下:-(void)drawRect:(CGRect)rect{CGPointstartOfHorizontalLine=(CGPointMake(1.0f,0.0f));CGPointendOfHorizontalLine=(CGPointMake(1.0f,10.0f));UIColor*lineColour=[UIColorcolorWithRed:40.0f/255.0fgreen:34.0f/255.0fblue:34.0f/255.0

ios - OCMock 类方法不起作用

我正在尝试模拟一个类方法来识别iOS是iOS6(或更早版本)还是iOS7(或更高版本)。这是测试代码:idiOSDetectorMock=[OCMockObjectmockForClass:[UTiOSVersionDetectorclass]];[[[iOSDetectorMockstub]andReturnValue:@(YES)]isIOS6_Earlier];UINavigationController*navController=[[UINavigationControlleralloc]initWithRootViewController:self.homeViewCont

ios - 是否可以使用 OCMock 来模拟类方法和协议(protocol)?

在OCMockdocs您可以轻松地模拟一个类或一个协议(protocol):idclassMock=OCMStrictClassMock([SomeClassclass]);idprotocolMock=OCMStrictProtocolMock(@protocol(SomeProtocol));我的问题是:你能两者吗?基本上我想模拟一个也实现了这个协议(protocol)的MPMediaItem:@protocolVBLoggableProtocol/**Returnsastringthatgivesadetaileddescriptionoftheproperitesofthiso

iOS 单元测试之常用框架 OCMock 详解

目录前言:一、单元测试1.1单元测试的必要性1.2单元测试的目的1.3单元测试依赖的两个主要框架二、OCMock的集成与使用2.1 OCMock的集成方式2.2 OCMock的使用方法2.3 mock使用限制三、最后前言:在iOS开发中,单元测试是不可或缺的一部分,它可以帮助开发者在编写代码时,对应用程序的各个部分进行测试,以确保代码的正确性和可靠性。OCMock是一个常用的OC语言测试框架,可以模拟对象行为、设置预期等操作,方便测试人员进行各种场景的测试。一、单元测试1.1单元测试的必要性测试驱动开发并不是一个很新鲜的概念了。在日常开发中,很多时候需要测试,但是这种输出是必须在点击一系列按钮

objective-c - Objective-C : How to get and call a block argument from NSInvocation - stubbing Twitter account on iOS

我正在使用KIF和OCMock测试iOS应用程序,stub设备的ACAccountStore以返回我自己的Twitter帐户表示。我想stubrequestAccessToAccountsWithType,并用我自己的值调用传递的完成处理程序,但我似乎无法从调用中获取block并正确调用它(EXC_BAD_ACCESS).作为Objective-C和iOS的新手,我确信我在从NSInvocation中拉出block时做错了什么。这是生产代码。_accountStore是从测试设置中注入(inject)的。ACAccountType*twitterType=[_accountStorea

ios - OCMock 期望并返回给出签名错误

我有一个如下签名的方法;-(NSInteger)getFirstVisitTimeStamp;当我使用OCMock模拟并返回一个值时,测试失败并出现以下错误。[[[[YSNYI13NMockingTestmockedYI13N]expect]andReturnValue:@(12345)]getFirstVisitTimeStamp];错误:file:///%3Cunknown%3E:testfailure:failed:Returnvaluedoesnotmatchmethodsignature;signaturedeclares'q'butvalueis'i'.有人能帮忙吗?

ios - OCMock 测试分配对象并调用方法

我终于将一些TDD强加到我正在从事的项目中,并且遇到了边缘......我知道我想要的代码但不知道如何测试它:)我正在寻找的实现是:-(void)doSomething{FooBuilder*foo=[[FooBuilderalloc]init];[foodoSomethingElseWithCompletionBlock:^{[selfsomethingDone];}];}所以我希望我的测试验证a)被测方法分配了一个新的FooBuilder和b)该方法然后调用新对象上的方法。我该怎么做?我开始走上尝试模拟alloc类方法的道路,但很快就确定这条路是疯狂的。请注意,我没有使用此测试来测试