问题标签 [ocmockito]

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.

0 投票
1 回答
161 浏览

objective-c - 如何在 OCMockito 中存根多个方法调用

我正在尝试对一个在模拟对象上多次调用相同方法的方法进行单元测试。在 Java 中,使用 Mockito,我可以提供多个结果以从该方法返回:

如果可能的话,我想对 OCMockito 做同样的事情。就像是:

感谢您的任何意见!

0 投票
0 回答
377 浏览

ios - 在 Xcode 中运行 OCUnit 测试时出现 EXC_BAD_ACCESS

我被问题困住了。我有 OCUnit 测试。我可以在 iOS 7 模拟器中成功运行它们,但我在 iOS 6 模拟器上得到 EXC_BAD_ACCESS。

这是 Xcode 的屏幕截图: 在此处输入图像描述

我正在使用OCMockitoOCHamcrest

你知道是什么原因吗?我正在尝试调查并找出原因。

更新:

这里的测试用例代码(至少来自日志):

来自 Xcode 的更多图片: 在此处输入图像描述 在此处输入图像描述

更新:看起来问题出在从模拟调用方法的方法中,其中一个参数是对self.

这是此方法的代码:

0 投票
0 回答
181 浏览

ios - OCMockito IOS - Xcode 5.1 崩溃

从模拟对象调用方法时,我在 OCMockito 上崩溃了。仅使用 OCMockito-1.2.0

基本上,我正在做的是:包括 OCHamcrestIOS.framework 和 OCMockitoIOS.framework 。在框架文件夹中。如果需要检查点,还要检查副本。

然后我是我的测试代码,我做了更简单的测试:

并且测试崩溃不是由于测试失败而是在对模拟对象的调用中失败。这是控制台消息:

我已经执行了 3 种不同的安装方式,但即使是源项目中的示例也崩溃了。该框架曾经在 xcode 和 mac OS 的早期版本中运行良好。目前我在 xcode 5.1.1 和 Mac os 10.9.2

0 投票
1 回答
765 浏览

ios - OCMockito verify 和 NSError 的编译错误**

我无法编译这段代码:

但是,我可以使用given带有附加语法的宏在类似的情况下通过编译:

有什么可以帮助我通过验证通过编译吗?

这是编译错误:

0 投票
2 回答
888 浏览

ios - 一些涉及块方法和 OCMockito 的验证

我正在使用 OCMockito,我想在我的 ViewController 中测试一个使用 NetworkFetcher 对象和块的方法:

特别是,我想模拟fetchInfo:,以便它返回一个虚拟result数组而不访问网络,并验证该reloadData方法是否已在 上调用UITableView并且模型是它应该是什么。

由于这段代码是异步的,我假设我应该以某种方式捕获该块并从我的测试中手动调用它。

我怎样才能做到这一点?

0 投票
2 回答
779 浏览

objective-c - 如何存根返回 void 的方法

我希望我的问题不是太基本,因为我对 obj-c 和 OCMockito 都是新手!

我有一个要存根的 void 方法,以便它在运行测试时不执行其操作。

我的方法:

-(void)myVoidMethod { .. }

我想以类似于以下的方式存根它:

[给定([mockDataManager saveChangesToCoreData])];

但是,如果我没有指定“willReturn”语句,我会收到以下错误: “参数类型 'void' 不完整”

如何在 OCMockito 中实现这一点?

0 投票
1 回答
157 浏览

ios - 使用 OCMockito 测试故事板的最佳方法

我正在尝试基于情节提要测试应用程序。该场景是一个导航控制器,里面有一个视图控制器。测试是执行 segue 将视图控制器设置为目标控制器(push segue)。我正在使用 OCMockito,这是我的测试:

但它抱怨prepareForSegue:没有调用该方法。

这里有什么问题?也许以异步方式performSegueWithIdentifier:调用?prepareForSegue:

0 投票
1 回答
225 浏览

objective-c - 使用 OCMockito 测试类别类方法

我有一个具有类方法的 UIColor 类别

我想在我的测试类中使用 OCMockito 进行测试

但我得到了错误

我错过了什么?看来这应该可行

0 投票
0 回答
105 浏览

unit-testing - 进行更改和测试时,OCMockito XCTest 不会刷新测试

我遇到了一个问题,即我的 iOS 单元测试在我第一次在设备上运行时正确执行,但拒绝确认在设备或模拟器上初次运行后所做的任何更改。如果我卸载应用程序并在 xCode 中清理项目,然后再次测试,更改是可见的。什么是模拟器可以忽略测试更改并返回旧结果?

下面是我所看到的一个示例 - 请注意,当再次在模拟器上运行测试时,取消注释 XCTFail 是如何无济于事的。

在此处输入图像描述

再次运行未注释的失败,测试应该失败,但它不识别更改:

在此处输入图像描述

0 投票
1 回答
415 浏览

ios - OCMockito 单元测试 - 如何验证是否调用了具有原语的方法?

如何验证使用 OCMockito 创建的模拟对象是否已收到带有原始参数的方法调用?

我要测试的方法是setProgress:(float)progress