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

ios - Kiwi:有没有办法让示例的动态数量由运行时变量定义?

我正在寻找一种测试嵌套对象属性的方法。本质上,我有一个规范,它将验证我们从外部服务返回的结果。由于我不想为要测试的每个示例对服务进行大量调用,因此在规范开始时发出一次请求,然后我们一组期望验证响应。

最好用代码示例进行解释(显然,它不能按预期工作):

这是我感兴趣的“每个帐户”上下文。基本上,调用返回一组帐户,我想要每个帐户的有效性。

我可以把它转过来并在 it() 块中设置循环,这有点工作,但它并没有告诉我哪个项目有问题,并且所有验证器都在一个有问题的项目之后运行(例如,当遇到 nil account.name ) 返回Trying to add another verifier without specifying a matcher for the previous one.错误。所以,不是很实用。

我考虑只测试返回的 json,因为我们还有一组规范用于(单元)测试我们自己的组件,而不管我们从服务获得的响应如何。但这不起作用,因为我们并不真正关心确切的数据集(也很容易改变),只是格式应该是正确的。

在使用本地测试数据编写规范时,我会为层次结构中的每个级别编写几个规范,但我想把它放在一起:我想完整地测试从服务器收到的一个响应。

我已经尝试通过在测试运行时添加更多 KWExamples 来动态执行此操作,但这似乎不起作用。

有什么想法(或者我是否将它误用于不打算做的事情)?

(也发布为 Github 问题:https ://github.com/allending/Kiwi/issues/435 )

0 投票
2 回答
718 浏览

ios - 使用 Kiwi 测试 Core Data 实体的后台保存

我正在努力找出在后台线程中测试与 Core Data 交互的最佳方法。我有以下类方法:

我目前正在使用以下 Kiwi 代码测试此方法:

如果我删除该dispatch_async行,那么我可以让我的测试快速运行。我可以让我的测试套件在使用时运行的唯一方法dispatch_asyncsleep(1)在调用完成块之后。使用sleep()让我认为我没有以正确的方式接近它。我试过使用shouldEventually,但这似乎并没有重新获取我的count价值。

0 投票
1 回答
854 浏览

ios - iOS Kiwi + Nocilla - 无法存根请求

我刚刚开始使用存根请求来测试对 iOS 外部 API 的异步调用。我目前坚持使用以下代码,我无法弄清楚什么不起作用。

我想要实现的非常简单的事情是,如果我从网站获得 200 响应,我将视图的背景颜色更改为绿色,否则我将其染成红色。

- (void)viewDidLoad我的视图控制器的方法中,我调用了以下方法:

我的 Kiwi 规格如下所示:

我不知道我做错了什么,但它一直在失败。任何想法?

0 投票
1 回答
423 浏览

ios7 - 我想知道#include做?

我有这个库 vesSharedPtr.h,其中包含以下代码:

因为当我试图运行我的项目时,总是出现这个错误:

0 投票
1 回答
103 浏览

unit-testing - Bizzarre behaviour on Kiwi BDD Mock

I'm using Kiwi to test some classes and I need to stub a class method just to return a fake file path. I know that i can solve exposing some path property or create a subclass just for test, but i prefere to keep only one class and stub some methods.

this is the test:

I'm confused because this test pass and fail alternatively, one success and one failure. There is not any "before_each"or other running test...

someone has the same issue?

0 投票
4 回答
780 浏览

xcode - 带有静态共享库的 Kiwi 和 CocoaPods

我有一个包含 3 个项目的工作区:

  • 我的应用
  • 常见的
  • 豆荚

Common 是 MyApp 所依赖的公共库。我想设置 CocoaPods 和 Kiwi 在这个项目中正常工作。我该怎么做?

我找到了https://stackoverflow.com/a/16472563/62,但是当我尝试遵循这种方法时,在我尝试添加 Kiwi 之前构建 MyApp 时出现错误:

这是 GitHub 上的仓库:https ://github.com/lyahdav/cocoapods_kiwi_shared_library

我的 Podfile 是:

0 投票
1 回答
185 浏览

objective-c - 在 Objective-C 中,让您的委托符合多个协议是不好的做法吗?

这是不好的做法吗?

我试图通过模拟这个符合两个协议的委托来使用 Kiwi 框架来测试一些东西。但是,通过阅读文档和互联网搜索,这似乎是不可能的。我可以创建一个符合单个协议的模拟委托,如下所示:

我想知道 Kiwi 是否没有能力让模拟符合多种协议,因为这是不好的做法。如果是这样,为什么这是不好的做法?

0 投票
1 回答
581 浏览

ios - Xcode 中未找到 Kiwi 文件错误

我在尝试运行测试时通过 CocoaPods 安装的 Kiwi 遇到此错误:

ld:找不到文件:/Users/nick/Library/Developer/Xcode/DerivedData/LLNetwork-dmoptbvcttajoxfniztuqeiuyggd/Build/Products/Debug-iphonesimulator/LLNetwork.app/LLNetwork clang:错误:链接器命令失败,退出代码为 1(使用 - v 查看调用)

这一切都是在我尝试添加一个单独的测试目标以用于集成测试时发生的;我创建了目标,添加了一些文件,然后将其从 CMD+U 构建中分离出来(因为我只想偶尔运行集成测试),但是当我尝试将它与 Kiwi 集成时,事情就崩溃了。

现在我最初的测试,那些在 LLNetworkTests 中的测试,也在呕吐。

我在其他链接器标志中有-ObjC -framework XCTest,我的 Bundle Loader 是 $(BUILT_PRODUCTS_DIR)/LLNetwork.app/LLNetwork,而我的测试主机是 $(BUNDLE_LOADER)。根据 Kiwi 的安装指南,我还有指向工作区中我的 Pods 项目的单元测试目标的配置。

我在这里想念什么?

0 投票
2 回答
195 浏览

ios - 在 iOS 中,如何使用 Kiwi 存根 Google Analytics SDK 的 [GAI sharedInstance]?

我正在使用 Kiwi 进行测试,当我尝试存根类方法[GAI sharedInstance]时,它不起作用。这是我正在做的事情:

当我在这些代码行之后中断并在控制台中比较它们时,我得到的是:

我究竟做错了什么?

0 投票
1 回答
725 浏览

objective-c - 使用 Kiwi 测试 Objective-C 时,如何显式删除存根?

我正在尝试测试一个我也像这样存根的值:

由于存根,此测试将始终失败,shouldAudioAlert将始终为NO. 当我写这个问题时,我意识到我可以通过改进代码的设计来避免这种情况(这是一个追溯测试,而不是先测试)。但我仍然想知道我是否能够明确地杀死/删除存根。

我无法从文档或搜索中找到答案。任何帮助表示赞赏!