Xcode 5:单元测试未运行

时间:2013-09-22 20:27:30

标签: ios objective-c xcode unit-testing testing

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

从Xcode,我得到:

Test Suite 'All tests' started at...
Test Suite 'All tests' finished at...
Executed 0 tests, with 0 failures (0 unexpected) in 0.00 seconds

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

我的所有测试类都选择了MyApp_appTests作为目标成员资格。生产类有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-test-cases-not-running

和这篇文章:

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

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

5 个答案:

答案 0 :(得分:23)

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

enter image description here

答案 1 :(得分:5)

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

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

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

答案 2 :(得分:2)

试试这个:

  1. 清理项目派生数据
  2. 产品>清洁
  3. 运行应用
  4. 等待Xcode索引完成
  5. 此时测试应重新出现在Test Navigator窗格

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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