【发布时间】:2013-09-27 17:03:06
【问题描述】:
我创建了几个测试用例,它们都通过了……那是因为它们没有运行。
从 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-test-cases-not-running
还有这篇文章:
twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/
我不知道在哪里寻找...任何帮助都非常感谢!
【问题讨论】:
-
YOudo 不需要在 Xcode 5 中导入
SenTestingKit.framework。在 Xcode 5 单元测试中查看 WWDC-13 视频。 -
如果我不这样做,我会收到构建错误(_OBJC_METACLASS_$_SenTestCase" 显示为 armv7 架构的未定义符号)。这是否表明我的项目中的配置错误?
-
如果您使用 Xcode 5 模板创建测试环境,该项目将包括一个测试目标和一个工作(和失败)测试。
-
您为我指明了正确的方向:包含的类使用 XCTestCase 而不是 SenTest。改变框架使它对我起作用(并且失败了!)。你知道为什么吗? SenTest 框架是否已弃用?请注意,如果您将解释/cmets 包含在答案中,它将被接受,因为它帮助我解决了我的问题。感谢您的帮助!
标签: ios objective-c xcode unit-testing testing