问题标签 [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.

0 投票
2 回答
5306 浏览

objective-c - 如何捕获发送到模拟的参数?

有谁知道如何捕获发送到 OCMock 对象的参数?

我如何去验证 foo 的论点?我也很高兴在模拟定义中的一个块内执行此操作,但如果我可以将对象取出以便我以后可以断言它的特性,那将是非常棒的。

OCMock 可以吗?

0 投票
1 回答
1360 浏览

objective-c - 在 OCMock 中为类的所有实例模拟方法

我想使用 OCMock 模拟类的所有实例的实例方法,但是我没有类的实例来覆盖它,而是在我正在测试的方法中创建它。

所以我的问题是:是否可以为类的所有实例重写此方法,还是我需要将该实例注入方法而不是在方法中创建它?

IE

0 投票
3 回答
142 浏览

objective-c - 我如何一般地用一个类别来实现一个协议?

你如何用一些通用的协议实现来装饰一个类?

对不起,这可能是一个明显的问题。我是目标 c 的新手,所以我还是有点踩水。

我有一个协议,我想要一个通用的实现:

我有几个我想要选择的对象:

我想做的是一次编写协议的实现,并确保两个对象都以这种方式实现。

我不认为我可以编写一个通用类别并将其绑定到两者,所以我想一种方法是在公共类 NSObject 上添加实现类别:

当然,我不能定义一个属性变量来做到这一点,我需要使用关联对象存储......我没有在这里演示。

这是将可选行为一般添加到实现可选元素协议的任何东西的唯一方法吗?或者有没有更明显的方式我错过了?

我当然可以使用继承来实现这个简单的示例,但这仅适用于以这种方式实现单个协议。我建议的这种方法是天作之合,还是一种技巧?

0 投票
1 回答
1441 浏览

objective-c - 在命令行上运行 iOS 单元测试的问题 (OCUnit + OCMock)

我正在尝试让单元测试在 CI (Jenkins) 中运行。我在网上看到了这篇文章,其中有一些技巧可以让测试在命令行中运行。我在一个具有单元测试默认设置的空项目上进行了尝试,并且那里的说明工作得很好,但是当我尝试在具有单元测试设置的现有项目上执行此操作时,我遇到了一个模棱两可的错误:

忽略重新安装应用程序部分。那是来自应用程序代码。所以这告诉我它在运行时在某个时候崩溃了。单元测试在 Xcode 4 中运行得很好,我只是无法让它与命令行很好地配合。如果有任何帮助,我将 OCUnit 与 OCMock 一起使用。谢谢!

0 投票
2 回答
848 浏览

iphone - OCMock 一个 NSOperation

我正在尝试编写一些单元测试来测试NSOperations我们正在编写的一些自定义。我想做的是创建一个 MockNSOperation并将其放在 上NSOperationQueue,然后等待它完成。我知道我可以调整方法而不使用OCMock ,但我真的不想这样做。我想用OCMock. 我尝试运行的代码如下所示:

当单元测试到达这一行时:

我接到一个释放对象异常的调用。有人对我如何克服这个有任何建议吗?

0 投票
1 回答
3500 浏览

ios - 使用 OCMock 将代码块作为参数的存根方法

有没有一种存根方法的方法,它将块作为参数?例如方法:

0 投票
1 回答
1553 浏览

objective-c - OCMock valueForKey 因 NSPredicate 失败

在我正在测试的代码中,我有一个 NSPredicate 并且我正在过滤一个数组:

我有一个方法来返回一个模拟,最终将被添加到myArray. FVFileStatus是一个 typedef 枚举。因为我使用的是谓词,所以谓词是 call valueForKey,所以我需要把它存根:

当我运行我的测试时,它在过滤器上失败了。我得到一个NSInvalidArgumentException - Reason: Return value does not match method signature.

我不确定如何设置存根,以便它可以与 NSPredicate 一起使用。

有人可以帮忙吗?

0 投票
2 回答
895 浏览

objective-c - 如何模拟 UITextField 上的 isEditing getter?

我一直在尝试模拟一个简单的属性UITextField

@property(nonatomic,readonly,getter=isEditing) BOOL editing;

我试图模拟这两种方式

1.)使用完整的类方法混合技术(通常对于基于类的方法,我会这样做)

2.) 使用自定义 ocmock 助手创建自定义“并返回布尔”方法

遗憾的是,这两种技术都失败了,我几乎可以肯定这是因为这是UITextField标记为只读 w/getter 的正常属性(以前在 iOS 上从未见过)

**失败以下NSLog总是返回 (null) - 意思是我不能存根

这是我的基本存根语法(与上述一起使用)

有谁知道另一种方法来存根这个结果?如果不是上面列出的两种方法呢?我在这里做错了什么?

先感谢您

0 投票
1 回答
3422 浏览

unit-testing - What is the difference in OCMock expect and stub methods?

I am trying to use OCMock for testing my app. But I am confused where should we use expect and where to use stub? Can anyone help please?

0 投票
2 回答
1379 浏览

iphone - 如何存根“respondsToSelector”方法

我正在尝试做这样的事情:

这是 SynchronizerDelegate 的定义

但是这个测试用例总是失败(返回值为 YES)。

之前有人尝试过存根“respondsToSelector”方法吗?