问题标签 [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 回答
333 浏览

ios - 使用 OCMockito 测试只读属性

我有一个具有只读属性的类。

但是当我运行这段代码时我得到的是

-[NSInvocation mkt_retainArgumentsWithWeakTarget]:无法识别的选择器...

我错了什么?

0 投票
1 回答
331 浏览

objective-c - 模拟另一个类方法的内部调用

我正在尝试使用 ocmock 学习单元测试。我发现很难从我正在单元测试的类中模拟另一个类的调用。

有人可以建议如何对 KeyChainUtils 类和 HttpRequest 类进行模拟调用:

使用 OCMock 进行单元测试的代码:

0 投票
1 回答
210 浏览

ios - 使用 Xcode 6 和 OCMockito 测试块

我开始使用 Objective-c 进行单元测试,我需要知道如何使用 OCMockito 和 Xcode 6 测试块。

我正在测试一个交互器,这个交互器应该返回一个数组作为块参数,我必须向 Provider 文件询问元素。

这是我要测试的方法:

首先,我设置了我要使用的元素

然后,我做测试。我正在使用 Xcode 6waitForExpectation来管理异步方法。我想我做错了什么。

我明白如果我在给定的方法中给出 willReturn 中的对象,当我调用我想要测试的 sut 方法时,它应该返回我之前给出的内容。真的吗?谢谢

0 投票
1 回答
123 浏览

ios - 如何验证方法被调用

我想测试某个方法被调用以响应收到的 NSNotification

我试过这个:

我的 _sut viewDidLoad 看起来像这样

为什么我的测试在预期 1 次调用和接收 0 次调用时失败?

顺便说一句,如果我调试 - 调试器确实停止在该方法

0 投票
1 回答
522 浏览

ios - 使用 KIF 进行功能测试:在我的视图控制器加载后调用 beforeEach?

我有简单的(我猜)问题。

我想用 Specta 和 KIF 在我的应用程序中进行功能测试。问题是我在 View Controller 的 viewDidLoad 方法中设置依赖关系,而在我的规范的 beforeEach 方法中,我正在注入假对象只是为了不访问网络。

结果是错误的,因为 viewDidLoad 在规范中的 beforeEach 方法之前被调用。

是否有可能在 AppDelegate 加载根视图控制器之前设置依赖项,以便正确设置所有内容?

0 投票
1 回答
379 浏览

objective-c - 使用 OCMockito 模拟 UIImage 进行单元测试

所以我正试图以一种更加测试驱动的方式开始开发,学习使用测试等等,我已经遇到了一个令人烦恼的问题。

我想测试一个函数,我传递一个 NSArray 然后将暴露的 UIScrollview 子视图第三个索引(前两个是滚动插图的默认值)设置为包含有效图像的 UIImageView。

我传入的数组将是 ALAsset 类型,该方法会将图像拉出。但我还没有走到那一步。

所以我的第一个问题是......我可以模拟 UIImage 是有效的,即在这种情况下不是 nil 吗?还是应该以不同的方式编写测试?

到目前为止,这是我尝试过的

0 投票
1 回答
97 浏览

objective-c - 如何为 OCMockito 正确投射此类?

OCMockito在我的测试中用来模拟一些对象。

当我使用时,verify我收到来自 Xcode 的错误:

发现多个名为“.....”的方法具有不匹配的结果、参数类型或属性

在项目的自述文件中,我发现了这个注释:

(如果 Xcode 抱怨多个具有相同名称的方法,请将 verify 强制转换为模拟类。)

这是我的原始实现:

我尝试以不同的方式进行投射,但我无法摆脱错误,例如:

0 投票
0 回答
194 浏览

objective-c - 如何在 dealloc 中对 removeObserver 进行单元测试

我正在尝试编写一个失败的测试,该测试将验证当对象被释放时调用 removeObserver 但是,对于对象不再存在的事实,我如何确定此功能?我会错误地测试这个吗?我正在使用 OCMockito 作为我的模拟框架。

这是我到目前为止所拥有的。

0 投票
2 回答
1020 浏览

ios - 使用 OCMockito 模拟无效的方法

在使用 OCMockito 时,以下效果很好:

但是,当我在具有多个参数的方法上尝试相同的操作时(请参见下面的代码),我收到“参数类型 'void' 不完整”编译器错误。

有谁知道这样做的正确方法?

编辑

我提出这个问题的初衷是解决在尝试以下操作时出现编译器错误的问题:

我试图模拟的方法的方法签名是:

我实际上想要做的是模拟一个void方法的实现。(给定一个void方法,用一个块模拟该方法的实现。出于我的目的,该方法返回一个完成块,它接受两个参数。我想构造这两个参数,然后在模拟的内部运行完成块出实施块。)

0 投票
1 回答
168 浏览

ios - 使用 OCMockito 模拟对象的 isKindOfClass 返回 nil

我正在测试一种方法,该方法调用另一个迭代NSArray不同对象的方法,这些对象符合protocol <MNBNotificableTrabel>. 此方法检查是否每个对象isKindOfClass: oneClass或 otherClass 并返回一个给我。

为了测试它,我创建了一个带有mockedObjects. 我用不同的方法创建了它们,而不是使用mockProtocol(),因为我想区分它们。

当我对此进行迭代时,我的问题就出现了NSArray,如果我输入po travel输出是正确的并且我看到它是MNBNotificableTravelListor的模拟MNBNotificablePoiListDraft,但是如果我输入po [travel isKindOfClass:[MNBNotificableTravelList class]]输出总是nil.

我试图将响应添加到[isKindOfClass:]using given。但我认为这不是一个好方法,响应是一个十六进制数。

任何人都知道我怎么能正确测试这个。

谢谢