使用XCTest设置一个带有两个测试目标的TestProject,用于iOS和OSX以及共享单元测试

时间:2013-09-25 14:01:57

标签: ios xcode macos xcode5 xctest

我想在一个Xcode项目中的两个单独的测试目标中有一个单元测试库,该库在Mac OS X和iOS上执行单元测试。单元测试文件应该共享。

这似乎是不可能的,或者不打算工作,或者以其他方式揭示错误:

虽然可以为每个iOS和Mac OS X运行完整的单元测试(通过命令Product - > Test),但是无法通过单击单个测试方法>天沟中的钻石:

enter image description here

执行此操作时,Xcode会打开一个错误表,告诉:

  

运行目标My Mac 64位对您选择执行的测试无效。

     

请选择支持您希望执行的测试的运行目的地。

enter image description here

我想,问题似乎是在一个有两个目标的项目中,共享单元测试文件必须与iOS Mac OS X测试目标相关联。也就是说,为iOS和MacOSX目标设置了特定单元测试文件的“目标成员资格”。

在将共享单元测试文件与一个目标关联时,从装订线中的菱形开始单独测试似乎只有效。

有人设法让这个工作吗?什么是替代解决方案?

1 个答案:

答案 0 :(得分:0)

如果您删除主目标中的Architectures(ARCHS)构建设置的所有自定义条目以及每个平台的测试目标,这将消失。 仅依靠OSX / IOS默认构建设置将起作用。

请注意,当您在OSX和IOS方案之间切换时,首先必须等到索引器处于低谷状态,然后您可能首先需要运行该平台的所有测试。 之后,您至少可以从测试导航器中启动单个测试。 看起来Xcode有时仍然存在显示源代码内联测试按钮的问题。虽然可以进行单一测试。