问题标签 [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 投票
4 回答
7166 浏览

ios - Kiwi 测试库的任何好的示例项目(提供比 2+2 更高的复杂性)

我正在寻找一个很好的示例项目/教程来展示 Kiwi 测试框架的实际应用。我不需要更多的测试类示例,其唯一目的是将 2 个数字加在一起或类似的东西。已经有很多这样的例子了。

我对测试 UIViewController 子类和负责数据获取的类的策略特别感兴趣。

针对 Web 服务进行测试的现有策略是什么。是从 fetch 调用中剔除返回方法吗?

0 投票
1 回答
737 浏览

ios - Kiwi stub isn't working with NSNumber, ends in SIGKILL

I'm not sure if I'm doing it right but I'm trying to stub an NSNumber property on a core data object.

Here's my test example:

And my source code:

Running this causes a SIGKIL error in the writeObjectValueToInvocationReturnValue method.

Am I missing something?

Update

attempted to change the stub to:

0 投票
2 回答
1557 浏览

iphone - iOS 使用 Kiwi 测试具有属性的 Mock 子类

我有一个应用程序,为此我使用 Objective Resource 创建本地对象以反映远程响应。

特定模型类有一个抽象类的子类,为它们提供各种附加功能,最重要的是能够序列化、写入磁盘和从磁盘加载,而不管该特定模型对象的特定属性是什么.

然后我会打电话

我通常是 BDD 和测试驱动开发的新手。我如何使用 kiwi 创建一个模拟对象来抽象地测试这个功能,因为我在很多项目中都使用了这个框架。

具体来说,我想构建测试,以确保可以保存加载、删除和覆盖具有各种类型属性的子类。

我的理解是,这就是存根和模拟的来源,但我似乎无法弄清楚如何模拟属性。我是否必须使用这些属性创建一个实际的类?

0 投票
2 回答
611 浏览

xcode - 使用 Kiwi 获取测试结果

我想使用 XML-RPC 将我的 iPhone 应用程序的测试结果发布到我的 TestLink。

我在我的项目中使用Kiwi,现在我想获得测试结果。我可以知道我的测试用例的条件是否通过或失败?

0 投票
1 回答
4510 浏览

ios - 在 Kiwi (iOS) 中模拟代表的期望

问题的简短版本:

以下 Kiwi/iOS 模拟期望有什么问题?

长版问题:

我正在尝试在 Kiwi,iOS 中为一个处理 NSConnection 的简单类编写测试。为了测试该类是否处理来自 NSConnection 的回调,我将其发送给 NSConnection 通常执行的委托方法。我在班级中有一个代表,可以将数据发送回使用我班级的任何人。要测试我的课程,我必须注入一个模拟委托,然后检查是否调用了我想要的方法。就那么简单 :)

我的 Kiwi 测试代码是:

在我的 SharepointCommunicator.m 中:

此代码有效且正确。使用检查点对其进行调试表明它按预期进行。statusCode 的值为 11111。txt 为 testString1+textString2。它仍然在测试的最后一行失败,并出现以下错误:

删除测试中的最后一行仍然会产生相同的错误。我想我对 receive:withArguments: 的理解是错误的..

0 投票
2 回答
2236 浏览

cocoa-touch - 如何使用 Cocoapods 设置 Kiwi?

我对 Kiwi 和 Cocoapods 都是新手。我已经启动并运行了 Cocoapods,但是即使在我开始玩 Kiwi 之前,我的测试目标也会失败,并出现如下错误:

这是我的 Podfile:

0 投票
3 回答
2820 浏览

ios - Helper functions in Kiwi specs

I have a few repetitive specs that I would like to DRY up. The common functionality doesn't lend itself to moving into a beforeEach block. Essentially, it's object creation and is 4 lines for each of 12 objects, I'd like to turn those 4 lines into a single function call.

Where can I put helper functions in a Kiwi spec?

In RSpec I can just put def between spec blocks, but that doesn't appear to be possible here. I've even tried skipping the SPEC_END macro and adding that content myself so I could add functions inside the @implementation from SPEC_BEGIN but that doesn't seem to work, either.

Correction... I can manage something that kind of works with hand-coding the SPEC_END macro. I had the end } mis-placed. But still, it fails, because the method isn't in the @interface.

0 投票
1 回答
708 浏览

ios - 使用现有项目 + cocoapod 依赖项设置 Kiwi

我使用 Cocoapods 成功地将 Kiwi 测试框架添加到我现有的项目中。

我可以创建一个非常基本的测试并让它通过:

但是,当我尝试测试我的一个模型时,事情就崩溃了。

我在我的规范中包含了我的模型的 .h 文件:

然后当我运行测试时会出现一大堆错误。

一些我无法弄清楚的事情:

  • 如前所述,我将测试目标添加到现有项目中。如何与我的新测试目标共享我的模型类?只需在 Build Phases/Compile Sources 中选择 .m 文件?
  • 如果我的模型使用其他模型/辅助类/类别,我是否也需要与测试目标共享这些?我还需要将所有这些文件导入我的规范文件吗?
  • 我的模型依赖于 AFNetworking,我也将其安装为 Cocoapod。如何在我的测试目标中使用该库?我试过简单地导入 AFNetworking.h 但这显然失败了。

谢谢!

0 投票
2 回答
1331 浏览

ios - 无法使用 Kiwi 测试 CocoaPods 添加的框架

我在让测试框架 Kiwi 与通过 CocoaPods 添加的框架一起工作时遇到问题。我同时加载了 AFNetworking 和 Lumberjack,两者都导致测试失败。只有当我的项目中构建到测试目标中的任何源文件包含来自 CocoaPods 的文件时,测试才会失败。这是我收到的消息:

2012-10-15 13:10:44.386 otest[47294:7e03] 无法加载 /Users/[username]/Library/Developer/Xcode/DerivedData/Build/Products/Debug-iphonesimulator/KiwiUnitTest.octest 的测试包因为发生了链接错误。dyld 很可能无法找到链接测试包所针对的框架框架或库,可能是因为框架或库在链接时的安装路径不正确。

我已按照 CocoaPods 和 Kiwi 的所有说明进行操作。

例如,我有一个 APIClient 类。它包括 AFHTTPClient.h。如果我在没有将 APIClient.m 内置到测试目标中的情况下运行测试,则测试将构建并运行良好。如果我确实将源包含在其中,则表示一切成功,但未运行测试,并且上述错误消息在我的日志中。

谢谢,詹姆斯

0 投票
2 回答
3155 浏览

objective-c - 如何使用 Kiwi 异步测试委托

伙计们,我多年来一直在努力寻找一些关于如何使用 Kiwi 测试异步测试委托方法的好例子。

我有一个管理器类,它定义了测试协议,在委托中返回了一个通过和失败的方法。谁能提供有关如何执行此操作的示例代码?我可以让测试类本身实现调用管理器上的方法吗?

多谢你们