问题标签 [xctest]

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

ios - 无法从我的项目中分配任何东西 - 静态库(使用 XCTests)

当我尝试像这样的测试时

一切正常。但是,当我尝试这种模式时:

我得到:

我也可以这样做:

我收到 2 个错误(第一行和最后一行):

有人可以解释一下我做错了什么..?我的课什么也做不了。值得补充的是,我正在尝试测试我的自定义静态库和其中包含的文件。我正在使用 CocoaPods,并且我已经根据 Kiwi 描述设置了环境(只是为了能够在我的测试中使用 CocoaPods 文件,我还想知道是使用 Kiwi 还是 XCTests)。

PS。这是我第一次尝试任何类型的单元测试,所以请原谅最终的noobish问题;)

0 投票
2 回答
2560 浏览

unit-testing - 方法的传递引用参数的 OCMock 存根

我有一个需要存根的方法。该方法的形式如下:

所以我嘲笑了这个对象,并试图通过“错误”返回一个零。我将其编码如下。

当运行测试并操作模拟对象时,错误引用 id 似乎发生了变化。所以模拟抛出异常:

OCMockObject [MyObject]:调用的预期方法:myMethodWithError:0xbfffca78

我尝试了许多不同的方法,但是每次将错误对象传递给导致模拟对象抛出错误的方法时,指针值似乎都会发生变化。

我只需要针对参数的传递引用值测试我的业务规则,但我似乎无法让模拟或测试对象进行合作。

在此先感谢,任何帮助将不胜感激。

0 投票
15 回答
31623 浏览

xcode - Xcode 5.0.2 dyld:库未加载:@rpath/XCTest.framework/Versions/A/XCTest

我在 Xcode 5.0.2 中运行项目时遇到问题

我收到以下错误:

原因:找不到图像(lldb)

我该如何解决这个问题?

0 投票
1 回答
1873 浏览

cordova - Cordova + XCTest 导致“架构 i386 的未定义符号”

当我尝试将 XCTest 与 Cordova 项目集成时出现错误。它发生在一个新的科尔多瓦应用程序中,没有自定义。只需添加 XCTest 并测试失败并出现以下错误:

我尝试删除 i386 架构,但无济于事,还有很多其他的东西,但这个正在逃避我。

有什么想法吗?提前致谢!

编辑:我忘了注意项目构建得非常好,但是运行测试[通过产品->测试]会导致这些错误。

0 投票
1 回答
9893 浏览

ios - 如何使用 XCTAssertThrowsSpecific

我正在使用 XCTest 编写 Cocoa 单元测试,最近第一次使用 XCTAssertThrows。这很酷,但我想用 XCTAssertThrowsSpecific 让它变得更好,并且需要一定的例外。

这是一个示例测试:

在我的用户类上,我有以下代码:

请记住,Cocoa 通常会避免使用异常(因此返回错误并在前面的示例中显示 UI 等可能会更好)我如何以可以被捕获的方式抛出异常XCTAssertThrowsSpecific?我如何在 中指定XCTAssertThrowsSpecific(expression, specificException, format...)

0 投票
1 回答
1006 浏览

xcode - 没有使用 XCTest 编译 OCMock 测试

有没有人尝试过将 OCMock 测试框架与 XCTest 框架一起使用?我们将 OCMock 测试框架与 SenTest 框架一起使用,自从我们从 SenTest 迁移到 XCTest 后,OCMock 测试停止编译。我知道,XCTest 没有对 OCMock 测试框架的内置支持,以下是我迄今为止尝试过的步骤:

  1. 转到编辑 --> 重构 --> 转换为 XCTest。
  2. 将 XCTest 框架添加到测试目标。
  3. 转到编辑器 --> 添加构建阶段 --> 添加复制文件构建阶段
  4. 将 OCMock 框架添加到 Copy Files 构建阶段。
  5. 将复制目标设置为产品目录。

完成所有这些后,XCode 无法找到 OCMock 测试框架,并且在编译时抱怨同样的问题。

有什么建议么。

0 投票
2 回答
5261 浏览

ios - xctest - 如何测试按下按钮时是否加载新视图

刚开始 xcode 5 和 xctest。如何测试按钮按下时是否加载视图。我以编程方式添加了在单击 rightBarButtonItem 时调用的方法

并在 onSettingsButton

如何编写 xctest 以确保 SettingsViewController 调出设置视图?谢谢你。

0 投票
1 回答
2086 浏览

ios - 使用 XCTest 测试视图标题

我正在使用 XCtest 来测试视图的标题。试着养成先写测试的习惯。设置看起来像

问题是“settingsViewController”。我有两个用于实际测试的功能:

“testTitleOfMainView”有效。但是“testTitleOfSettingsView 失败,因为 self.settingsViewController 为零。我可以理解为什么。视图尚未初始化。所以我尝试将消息发送到主控制器,将 settignscontroller 置于视图中

settingsController 仍然为零。我应该使用模拟吗?有人为我的另一个问题 xctest 提出了这个建议-如何测试是否在按下按钮时加载了新视图

我应该将设置视图子类化并手动启动它吗?谢谢你。

0 投票
0 回答
419 浏览

objective-c - Restkit unit testing mapping to array

I am trying to test the RestKit object mapping to an array of elements using RKTestFixtures.

When I try testing just 1 element of my Tutorial-object (which has a name and a description), everything works fine using the test-method below.

But, when I try testing an array of Tutorial-objects like the one below using evaluationBlocks, I can't get the mapping right...

Does anyone have a solution to this problem? Google didn't get me right through it...

UPDATE

I am sending my JSON using the Fixtures feature:

And in my test-method:

0 投票
4 回答
3528 浏览

ios - 测试是否在视图控制器方法中调用 performSegueWithIdentifier

我正在浏览一个应用程序并添加单元测试。该应用程序使用故事板编写,支持 iOS 6.1 及更高版本。

我已经能够毫无问题地测试所有常用的返回方法。但是,我目前对要执行的某个测试感到困惑:

本质上我有一个方法,我们称之为doLogin:

所以我想测试是否调用了 segue 并设置了变量,或者加载了 MemorableWord 视图控制器并且其中的变量是正确的。在 doLogin 方法中设置的变量在 prepareForSegue 方法中被传递到 rememberWord segues 的目标视图控制器。

我有 OCMock 设置和工作,我也使用 XCTest 作为我的单元测试框架。有没有人能够生产一个单元测试来涵盖这种情况?

似乎 Google 和 SO 在有关该领域的信息方面非常赤裸裸。许多关于简单基本测试的示例与更复杂的 iOS 测试现实完全无关。