问题标签 [kiwi]

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 回答
353 浏览

ios - Kiwi BDD - 如何测试`tableView:cellForRowAtIndexPath:`的结果?(目标-C)

我正在使用 Kiwi 为应用程序编写测试。我正在尝试验证从返回的单元格tableView:cellForRowAtIndexPath:在调用后是否设置了正确的值。我已经做了很多不同的变化,但没有运气:

实际方法如下所示:

它似乎被抓住了cell.label1——nil然而,我之前确实存根存根。

欢迎任何关于如何实际编写此测试的想法。

0 投票
1 回答
263 浏览

ios - Kiwi:mock 和 nullMock 之间的具体区别?

我在一个项目中使用 Kiwi,但不太清楚何时使用 amock与 a nullMock。以下是 Kiwi 的文档目前提供的内容:

当一个普通的模拟对象收到一个它不期望的选择器或消息模式时,它会引发一个异常。当在模拟上使用存根或接收期望时,预期的消息会自动添加到模拟中。

如果您不关心模拟接收其他消息,并且不希望引发异常,则使用空模拟(也称为空对象)。

这种差异会在什么样的情况下发挥作用?

0 投票
1 回答
281 浏览

ios - Kiwi 单元测试在 Xcode 中从不失败

出于某种原因,我的测试每次都通过了。即使我添加

Xcode 仍然显示“测试成功”

有任何想法吗?

这是我的规格的样子

0 投票
1 回答
250 浏览

ios - What is a practical example of using Kiwi's KWCaptureSpy?

I'm having trouble understanding what a practical application of using Kiwi's KWCaptureSpy is. I could do something like this and have it pass:

but that doesn't seem to actually be testing anything. The example in Kiwi's documentation doesn't help: https://github.com/kiwi-bdd/Kiwi/wiki/Mocks-and-Stubs#capturing-arguments

Has anyone had a good reason to use KWCaptureSpy in practice?

0 投票
2 回答
457 浏览

objective-c - 在 Kiwi iOS 中测试 NSNotification

所以我需要测试是否NSNotification发布了 a 。我尝试了以下代码来监视参数。

但是这个问题是因为它是异步的,所以在测试之前并不总是捕获参数。我也无法添加shouldEventuallynotificationSpy.argument.name,因为它会NSInternalConsistencyException在捕获之前访问参数。

我也试过了, [[SOME_NOTIFICATION should] bePosted]; 也失败了。

0 投票
2 回答
103 浏览

objective-c - Kiwi 监视多个 NSNotifications

我目前正在postNotification像这样监视

问题是我有多个通知名称不同的通知。如何访问间谍的参数以获得不同的通知。

例如说我有 Notification1 和 Notification2 间谍参数捕获 Notification1 但我无法捕获 Notification2。

关于如何做到这一点的任何想法?

0 投票
1 回答
141 浏览

ios - 使用 Realm 在 iOS 应用程序上运行基于 Kiwi 的测试时自发失败

我正在开发一个具有 300 多个测试的 Kiwi 测试套件的应用程序。测试作为应用程序测试运行,其中主应用程序目标是测试包的主机。

我正在尝试将Realm添加到应用程序中,但是当我将 Realm 对象编译到应用程序目标中时,由于无法创建 Kiwi 匹配器,我的测试自发失败。我注意到只有当我的RLMObject子类具有RLMArray属性时才会发生这种情况。删除它们可以解决问题。

控制台日志中的失败原因各不相同,但常见的有:

和我最喜欢的:

还有其他人遇到这个问题吗?

0 投票
1 回答
468 浏览

ios - 使用 xctool 运行单个 KIWI 规范

有没有人能够成功地将 KW_SPEC 变量传递给 xctool。我正在尝试使用https://github.com/kiwi-bdd/Kiwi/wiki/Kiwi-FAQ#q-how-do-i-run-a-single-spec-describecontextit运行单个 KIWI 规范。

我可以使用 xctool 成功运行所有测试,但它似乎没有获得 KW_SPEC 值。我用命令行在很多不同的地方尝试过,但没有运气。

例如:

使用 Kiwi v2.3.1 和 xctool 0.2.3

干杯,莫

0 投票
0 回答
771 浏览

ios - 指向块指针的指针

我有一个使用 Promise (PMKPromise) 的方法,我想使用 Kiwi 库进行单元测试。

我的方法如下所示:

我想捕获并执行承诺完成块(称为“then”),并且我设法做到了(使用模拟的承诺):

我现在想做的是将这个丑陋的代码隐藏在一个类别中,以便将来在单元测试承诺时可以轻松使用。

我想将块“双指针”作为方法参数传递。

这可能是实现:

这就是我将如何使用它:

不幸的是,这段代码不起作用。踏入时,确实捕获了该块。但是一旦出来,在执行捕获的块的那一刻,它就为零。

0 投票
0 回答
352 浏览

ios - 如何使用 Expecta/OCMockito 测试异步委托方法?

我目前正在使用 Kiwi 编写测试,但我有兴趣尝试 Specta/Expecta/OCMockito(或其他模拟库,如有必要)。

我使用 Kiwi 的一件事是测试在一些异步工作之后调用委托方法。例如,这个 Kiwi 规范对 HTTP 请求响应(在后台队列中执行)进行存根,并测试最终委托是否被告知来自请求的响应:

有没有办法通过 Expecta/OCMockito(或可能是另一个模拟库?)来实现这一点。我可以看到 Expecta 支持异步期望,但我不确定如何将它与像 OCMockito 这样的模拟库结合起来。