问题标签 [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.
xcode - XCTest 中没有加载本地化?
我在 Xcode 中有一个模式,它只配置了测试。这个模式指向一个包含我所有测试的目标(这是 OS X 的 Cocoa Unit Testing Bundle 目标)。
所以,我用 Command+U 来运行所有这些测试,它工作正常。但是,有几个测试需要访问本地化资源。我将这些资源添加到我的目标中,甚至签入生成的本地化资源存在的二进制文件。
但是,代码看不到资源,因此当任何测试执行 NSLocalizedString 时,它会返回一个键,而不是本地化字符串。
为了让测试看到这些资源,我需要做些什么特别的事情吗?
ios - XCTest 和需要一个特殊目标来调整应用程序启动行为
我正在尝试实现 XCTest,因为我在 iOS 应用程序中有一个错误,我似乎没有弄清楚,所以想开始构建获取案例。
但是,该应用程序在加载时会自动连接到服务器以更新数据。然而,对于测试,我不希望这种情况发生,因为我需要清除 CoreData 数据库并为每个测试填充。
如果要运行测试,有没有办法知道何时构建(在目标上)?也就是说,我可以在测试时使用标志来省略某些操作?
或者我应该只是复制我的正常目标专门用于测试,并以这种方式放置一个标志?(例如#if TESTING 而不是#if DEBUG)
xcode - Xcode 5 测试未运行
当我尝试运行测试时,我从 Xcode 收到以下消息:
这个问题已经在这里问过:Xcode 5 throws "Library not loaded" error when added a test target 但该解决方案不适用于我,因为这是一个 Mac 应用程序。有任何想法吗?
xcode - 如何使用 Xcode 5 从命令行运行 xctest?
我发现了一个名为“xctest”的命令行工具,它显然可以在您的项目中运行单元测试。该可执行文件位于此处:
当我尝试在我的 xctest 包上运行这个可执行文件时,我正在使用:
但是,我得到以下输出:
据我所知,没有 xctest 的手册页,但在命令行中仅输入 ./xctest 会产生:
特别是,我希望能够只测试测试类中的特定方法,这就是我想使用这个 xctest 命令的原因。
我确实看到有一种方法可以从命令行运行所有测试,例如:
这将运行所有单元测试并正常工作(我看到了我的单元测试结果,与使用 xctest 时不同)。但我对能够从命令行运行单个测试方法感兴趣,例如:
ios - 在 Xcode5 中使用 XCTest 时 AFNetworking 导致错误
我正在使用 Xcode 5,现在刚刚开始对我现有的项目进行单元测试,为此我将CocoaTouch Unit Testing Bundle
作为目标(目标名称为:MyAppTests)添加到我的项目中。我之前使用 AFNetworking 库添加了CocoaPods
,而我正在运行测试用例我收到错误 AFNetworking.h 文件未找到。我在 Tests.m 中添加了 AFNetworking.h,但问题仍然存在。是否有任何其他设置可以将 Pod 包含到我的测试目标中?
xcode5 - 如何从 SenTestingKit/OCUnit 迁移到 XCTest?
我正在将我的项目从 Xcode 4.6.3 迁移到 Xcode 5.0.2。该项目的单元测试是使用 SenTestingKit/OCUnit 开发的。现在,当我在 Xcode 5 中运行测试时,我从RunUnitTests
脚本中得到一个错误,告诉我
RunUnitTests 已过时。
可能相关的是 Xcode 5 发行说明中的此说明:
SenTestingKit 和 OCUnit 已弃用。使用迁移器移动到 XCTest。
不幸的是,我无法找到更多关于这个神秘“移民”的信息。可能我的 google-fu [再次] 缺少,所以我的主要问题是:如何将单元测试从 SenTestingKit/OCUnit 迁移到新的 XCTest(有或没有“迁移器”)?
第二个问题,如果迁移是一项复杂的业务:是否有可能让 Xcode 5 运行仍然基于 SenTestingKit/OCUnit 的单元测试?毕竟这些只是被弃用了,所以它们应该仍然存在并且可以使用。
objective-c - OCMock 2.2.1、Xcode 5.0.2、XCTest 和类方法模拟(在类别中声明)的问题
介绍:
我有这个问题标题中提到的工具(Xcode 5.0.2)、库(OCMock 2.2.1)和测试(XCTest)设置。
类别:
我在 NSObject 上有一个类别,其类方法如下:
OCMock 和 XCTest 框架有问题吗?:
现在我有一个简单的测试设置,我在其中模拟一个简单的值对象,如下所示:(模拟值对象是一种测试气味,我知道。但这只是为了说明目的。)
当执行测试方法 testFoo 的第 3 行时,我最终得到错误:
问题:
为什么使用 OCMock 模拟类方法似乎是不可能的(至少在我的设置中)?
如果我hasDeclaredPropertyWithName
采用像这样的实例方法
一切正常!
有人可以向我解释这种 OCMock 缺陷吗?还是我在这里对 Objective-C 有一个重大的误解?:)
该类别是否可能导致运行时和/或 OCMock 头痛?顺便说一句,我没有TestObject
直接用类方法尝试这个测试!
xcode - 作为在 Xcode 5 中构建应用程序的一部分,您可以运行单元测试吗?
在 Xcode 4.x 中,任何单元测试(逻辑测试)都可以作为构建主要目标的一部分运行。
Xcode 5 是否可以进行类似的设置?
更新
问题归结为 Xcode 启动模拟器作为运行逻辑测试的一部分。Xcode 4.x 并非如此
已经创建了一个雷达来跟踪这个http://openradar.appspot.com/15859153
ios - 无法通过 xcodebuild 从命令行执行测试
我正在尝试使用 iOS 测试用例的命令行构建和运行测试用例。我给出了以下命令:
它构建了应用程序,但没有运行测试用例。
有人可以帮忙吗?谢谢
cocoa-touch - 使用 NSDateFormatter 避免脆弱的单元测试
测试 NSDateFormatter 方法的最佳实践是什么?例如,假设我有一个方法:
我有两种方法可以考虑使用 Kiwi 测试此方法:
1)在单元测试中创建相同的格式化程序:
2)明确写出预期的输出:
现在,对我来说,#1 似乎有点多余。我知道测试会通过,因为我实际上是在单元测试中复制该方法。
方法#2 是一个非首发,因为它非常脆弱。它完全依赖于您所期望的测试设备当前语言环境。
所以我的问题是:是否有更合适的方法来测试这种方法,或者我应该继续使用测试方法#1。