问题标签 [ocmock]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - iphone OCMockObject 和单元测试从 NSURLConnection 继承的类
我想对继承自 NSURLConnection 的类的自定义 init 方法进行单元测试 - 如果我的可测试类的 init 调用,我将如何执行此操作NSURLConnection's initWithRequest
?
我正在使用 OCMock,通常,我可以模拟测试类中包含的对象。对于这种继承场景,最好的方法是什么?
我的类是这样实现的:
这是我得到的错误:
OCMockObject [NSURLRequest]:调用了意外的方法:_CFURLRequest
iphone - 从 SenTestCase 派生类调用 NSInvocation 不可行?
NSInvocation 类不应该通过单元测试(对于 iPhone)来调用吗?
我的意图是通用调用一个类的方法,由于该方法有两个以上的参数,我不能使用[myTestClass performSelector:withObject:withObject]
相反,我正在尝试使用 NSInvocation 但是一旦我尝试从 NSInvocation 类实例化,我就会收到构建错误:
2009-12-31 11:12:16.380 otest[2562:903] ******* 关于调用 NSInvocation /Developer/Tools/RunPlatformUnitTests.include:第 415 行:2562 总线错误
“${THIN_TEST_RIG}”“$ {OTHER_TEST_FLAGS}" "${TEST_BUNDLE_PATH}" /Developer/Tools/RunPlatformUnitTests.include:451: 错误:测试台 '/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.2.sdk/Developer/usr/bin /otest' 异常退出,代码为 138(它可能已崩溃)。
我正在测试的班级:
我的单元测试:
在运行时调用具有超过 2 个参数的方法的方法是什么?我是否必须更改方法的签名,使其只有 2 个参数?这是单元测试框架的限制吗?
iphone - OCMock 对带有参数的方法进行 OCMock 并返回一个值
我有一个依赖于 NSUserDefaults 的类,我正在尝试对其进行单元测试,并且我将 NSUserDefaults 作为模拟提供到我的测试类中。运行测试时,我收到错误:
OCMockObject [NSUserDefaults]:调用了意外的方法:dictionaryForKey:@"response"
我正在尝试模拟 NSUserDefaults 类的这个实例方法:
使用调用格式:
告诉模拟它需要接受 dictionaryForKey 方法。但不知何故,这没有被记录下来,或者不是告诉模拟期望的正确事情,因为错误告诉我模拟永远不知道期望'dictionaryForKey'调用。
我调用存根 andReturn 的方式似乎与这个问题非常相似,但在那个问题中,发帖人说他们得到了一个返回值。我的测试用例:
我的课:
有什么建议么?
objective-c - 使用 OCMock 和 Core Data 测试控制器方法
我只是在掌握 TDD 和 mocking 的概念,并且在如何正确处理方面遇到了问题。我有一张下拉表格,让用户创建一个新的核心数据对象并将其保存到数据存储中。我不确定我是否采用了最好的方法来测试它。
我正在尝试编写两种测试方法来测试这一点:一种测试托管对象无法保存的场景,另一种测试成功保存的场景。
以下是我知道我遇到的问题,但不知道如何解决:
- 我不确定如何在测试方面处理托管对象上下文。我应该调出整个核心数据堆栈还是只创建一个模拟
NSManagedObjectContext
? - 仅将文本字段值设置为触发 if 语句的方式的想法似乎是错误的。理想情况下,我认为我应该删除该
save:
方法并返回“是”或“否”,但鉴于问题 1,我不确定这一切的核心数据方面。
我认为我走在正确的轨道上,但我可以就如何解决我的问题使用第二种意见,并让我走上测试代码片段的正确道路。
xcode - OCMock 测试无法构建:Foundation/Foundation.h:没有这样的文件或目录
我是 Xcode 初学者,在编译 OCMock 测试时遇到了一些问题。我在“组和文件”中添加了 OCMock.framework,然后从单元测试目标中添加了一个非常基本的 OCMock 测试,基本上用于 Canary 测试。
当我编译 OCMockTests.m 文件时,系统返回大约 38 个错误,指出 OCMock.Framework 文件中的所有导入头文件都不存在,顶部出现“Foundation/Foundation.h:没有这样的文件或目录”。但是当我编译 OCMock.Framework 时,一切都会成功。我尝试用 NSObject.h 替换 Foundation.h,但系统甚至无法找到它。
我认为这是一些链接器错误......系统可能无法获得 Sentest.Framework 的位置。顺便说一句,我已经使用正确的(?)Sentest 框架路径(参数是“-Sentest All”)更新了可执行信息 - 环境变量 - DYLD_FALLBACK_FRAMEWORK_PATH,即 IphoneOS 文件夹。
需要您的建议...非常感谢。~ 萨彦
objective-c - 如何在objective-C中使用OCMock的mock和verify方法?
我的问题是我收到一个错误:
OCMckObject [NSNumberFormatter]:未调用预期方法:setAllowsFloats:YES
我写了以下代码:
objective-c - 如何使用 OCMock 来验证某个方法从未被调用?
在我的日常工作中,我被Mockito 的never()
验证宠坏了,它可以确认永远不会调用模拟方法。
有什么方法可以使用 Objective-C 和 OCMock 来完成同样的事情吗?我一直在使用下面的代码,它可以工作,但感觉就像一个黑客。我希望有更好的方法...
ocmock - OCmock 和 MKReverseGeocoder
我想测试一种使用反向地理编码的方法。我想做的是:
将地理编码器设置为我的控制器的属性
在 init 方法中创建地理编码器
在我要测试的方法中调用地理编码器
在我的测试中用模拟替换地理编码器
问题是 MKReverseGeocoder 坐标属性是只读的,我只能在构造函数方法中设置它:
当然,坐标仅在我想测试的方法中可用..
有谁知道我如何模拟 MKReverseGeocoder 类?
在此先感谢文森特。
iphone - iOS 4 上的 OCMock
我在使用 iOS 4 运行 OCMock 时遇到了麻烦。
我已经阅读了一个可能的解决方案来构建库并安装 libOCMock.a,但老实说,我不知道如何。任何帮助都会很有用
iphone - iPhone OCMock (iOS4, XCode 3.2.3)
我有最新版本的OCMock (1.55) 和 XCode 3.2.3。
我在我的项目中创建了一个测试包目标。在我的测试中使用 OCMock 的最佳方式是什么? 当我将 OCMock.framework 添加到测试包时,会出现此构建错误: