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

ios - 如何使用 Kiwi 取消存根方法

我有一个用于测试目的的宏,它创建一个导航控制器,将其设置为主窗口的根视图控制器,并将正在测试的视图控制器放在导航控制器中。

我还想为每次调用pushViewController:animated:将动画参数更改为NO.

我怎样才能做到这一点?

我尝试使用stub:withBlock:然后调用pushViewController:animated:块内部,视图控制器被推送(params [0])并且没有,但这会导致无限循环。

还有,stub:withArguments:但在那种情况下,我没有对被推送的视图控制器的引用,因为它是一个在多个地方使用的宏。

我能想到的唯一方法是stub:withBlock:在块内使用 and 删除存根并正常调用pushViewController:params[0]:NO,但我找不到删除存根的方法。

有什么帮助吗?

0 投票
1 回答
258 浏览

ios - 如何在 iOS 应用程序中自动测试不同的启动选项?

我想知道是否有一种方法可以自动测试launchOptions应用程序首次启动时的不同配置?我熟悉 XCTest、KIF 和 KIWI,但我不确定是否可以实施此类测试?

0 投票
1 回答
85 浏览

ios - 用于远程启动单元测试的 OS X 服务器

我们有多种选择来使用远程 OSX 服务器,例如 MacinCloud、MacStadium、vmOSX、Xcloud、Xcodeclub

我想用猕猴桃。

如果有人可以建议我会很高兴

0 投票
1 回答
56 浏览

objective-c - 花了我两个小时来 TDD 一些本应花半小时的代码。这个可以吗?

我正在潜入 iOS 开发的 TDD 世界。阅读了很多内容,观看了一些截屏视频,并且总体上让自己相信了 TDD 的力量。但我缺乏经验,所以我只是从一个小项目开始。

问题是我用 TDD 编写一些代码比没有它要花更多时间。对于一个本应花费我半小时的简单功能,我花了将近两个小时的时间进行战斗。我得到了测试的好处,并把你的头脑围绕在高级功能上,就像这里清楚解释的那样。

但我担心如果我不改进,这会咬我一口。另外,我开始用 Kiwi 编写测试,我花了一点时间来适应它的符号。我注意到我花了很多时间试图找出使用规范编写/重构测试代码的正确方法,而不是生产代码。事实上,大部分时间我都在使用测试代码,因为我没有使用正确的一些规范,或者我不应该使用的模拟,等等。我发现它非常有用,但也许让我的头脑围绕测试和猕猴桃太多了?

根据您的经验,它会变得更好吗?提前致谢。

0 投票
1 回答
660 浏览

ios - 猕猴桃存根和退货问题

我想使用 Kiwi 测试我的对象的创建。考虑这样的构造

id objectOne = [ObjectOne objectWithAnotherObject:objectTwo];

在这个静态方法中,我从 objectTwo 设置了我的 objectOne,它定义了 enum/type 属性。

我的 Kiwi 测试看起来像这样。

ObjectTwo *objectTwo = [ObjectTwo 模拟];

[objectTwo stub:@selector(type) and Return:theValue(typeOne)];

id objectOne = [ObjectOne objectWithAnotherObject:objectTwo];

我现在面临的问题是例外:

[NSException raise:@"KWStubException" format:@"wrapped stub value type (%s) could not be convert to the target type (%s)", [self.value objCType], objCType];

这是否意味着 Kiwi 无法将对象 theValue(typeOne) 转换回枚举值?

我正在使用 XCODE 6 和最新的 Kiwi 版本

0 投票
1 回答
247 浏览

ios - UICollectionViewCell 子视图未在单元测试中更新

我有一个测试,我想加载一个 UICollectionViewCell ( CustomCollectionViewCell),将一些数据传递给它,并检查单元格的标签是否用这些数据更新。

cell.nameLabel是单元格的 UILabel 并且该方法setText被调用但文本本身永远不会更新。

cell.nameLabel.text始终返回 xib 中定义的初始文本。

标签定义如下:

和规格:

0 投票
0 回答
58 浏览

objective-c - expectFutureValue 失败

为什么我不能通过考试?未调用任何 AFHTTPRequestOperation 块。似乎 expectFutureValue 不等待结果并立即返回。我尝试使用 XCode 6.1 和 Kiwi 2.3.1

谢谢!

0 投票
1 回答
445 浏览

ios - 从 Kiwi 中的方法参数中捕获块?

我正在使用Firebase iOS SDK,我正在努力弄清楚如何使用 Kiwi 全面测试一些 Firebase 方法调用。

我正在使用 Firebase 的实例来“监视”路径:

Firebase *streamsReference = [self.firebaseRef childByAppendingPath:@"streams"];

然后用它streamsReference来观察事件:

我想测试块中代码的效果。

这是我到目前为止所得到的:

当我运行测试时,它因错误而失败Argument requested has yet to be captured- 这表明我以错误的顺序进行操作。谁能看到我要去哪里错了?

0 投票
1 回答
419 浏览

xcode - 无法在 xcodebuild (Xcode 6) 中运行 Kiwi 测试 (XCTest)

我正在尝试使用 CLI 工具运行我的测试。在遵循各种指南之后,我想出了这个命令:

我得到的错误是:

我不知道为什么构建失败,因为错误消息不是很给力。

至于我的预配置,我遵循了一些指南并执行了以下操作:我添加了一个针对我的测试目标的仅测试方案(就像我在许多指南中看到的那样),并将它的可执行文件设置为.app 文件(默认设置没有可执行文件,这会导致找不到应用程序文件的错误)。

我正在使用 Cocoapods,但仍然没有standard architecture (arm7, arm64)在我的项目中使用(我依赖于尚未升级的第 3 方,所以目前我的设置是$(ARCHS_STANDARD_32BIT))。

我还检查了"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"运行脚本是否出现并在构建阶段最后发生。

请注意,使用 CMD+U 运行测试按预期工作。

编辑:显然,清理后没有创建 .app 文件(因此删除清理或预构建应用程序有效)。尽管如此(即使我也需要解决这个问题)。我现在收到此错误:

我已经读过打开 iOS 模拟器时可能会发生这种情况,但即使我在运行脚本之前将其杀死也会发生。

0 投票
0 回答
718 浏览

xcode - 即使测试失败,也可以从 `xcodebuild` 获取 `**TEST SUCCEEDED**`

我正在运行这个命令来运行我的测试:

当我测试失败时,我最终得到了这个输出:

我将 Xcode6 与 Cocoapods 一起使用,我的测试库是 Kiwi (XCTest),而且我还没有为测试创建一个特殊的方案(因为除了最终输出之外,测试工作正常)。

更新:这实际上在同事计算机上运行良好。这已经在同一个 repo 上运行并且假设是相同的配置,这就是为什么我怀疑我的本地 xcode 配置在本地有问题(虽然不知道是什么)。