11

我创建了一些测试用例,它们都通过了……那是因为它们没有被运行。

从 Xcode,我得到:

测试套件“所有测试”开始于...
测试套件“所有测试”完成于...
在 0.00 秒内执行 0 次测试,0 次失败(0 次意外)

项目(和单元测试类)构建成功。

我所有的测试类都选择了 MyApp_appTests 作为 Target Membership。生产类选择了 MyApp_app 和 MyApp_appTests 目标。

我验证了 MyApp_appTests 目标构建设置(捆绑加载器和测试主机)。

Bundle Loader (Debug): $(BUILT_PRODUCTS_DIR)/MyApp.app/MyApp
Test Host (Debug): $(BUNDLE_LOADER)

我已经导入了 SenTestingKit.framework(通过 Targets Build Phases “Link Binary With Libraries”)。

我所有的测试都从-(void)testThat...

我还检查了一些 stackoverflow.com 问题:

stackoverflow.com/questions/8632254/xcode-4-2-cant-run-unit-test stackoverflow.com/questions/3608484/ocunit-tests-not-running-not-being-found stackoverflow.com/questions/16672616/ ocunit 测试用例未运行

和这篇文章:

twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/

我不知道在哪里寻找......非常感谢任何帮助!

4

4 回答 4

23

对我来说,在测试目标的构建设置中将“包装器扩展”从“octest”更改为“xctest”

在此处输入图像描述

于 2014-01-16T12:06:05.570 回答
5

Xcode 5 现在使用 XCTestCase,而不是 SenTest。Apple 现在更直接地支持单元测试,包括他们自己的名为 XCTestCase 的 SenTest 版本。此外,UI 得到了很大改进,允许运行单独的测试、测试导航器并且不再创建 .h 测试文件。请注意,测试宏不是带有 XC 前缀的重命名。

请参阅 WWDC-13 视频 409:“在 Xcode 5 中测试”。

如果您使用 Xcode 5 模板创建测试环境,该项目将包括一个测试目标和一个工作(和失败)测试。

于 2013-09-23T13:46:07.653 回答
0

如果您在 Xcode 5+ 中创建新的测试目标并计划使用 SenTestKit 进行单元测试,将测试目标的“Wrapper Extension”构建设置从默认的“xctest”更改为“octest”将有助于执行测试用例。

于 2014-05-15T04:48:59.773 回答
0

我在使用 Xcode 7.3 时遇到了这个问题,对我有用的是在设备上运行应用程序一次,然后运行测试。

于 2016-05-09T10:14:16.237 回答