4

我正在关注iOS 开发指南:单元测试应用程序。但是,当我尝试构建 (Command+B)LogicTests目标(“设置逻辑测试”的第 8 步)时,我收到错误消息:“选定的运行目标对此操作无效。”

由于我将应用程序目标添加到LogicTests的目标依赖项中,因此我可以使用 Command+U 运行单元测试,但这也会启动 iPhone 模拟器。

为了节省时间和资源,是否可以在不启动 iPhone 模拟器的情况下运行 OCUnit 测试(逻辑和应用程序测试)?

4

4 回答 4

8

我理解模拟器在单元测试中弹出的烦恼。我能找到的最好的补救方法是在启动单元测试时执行 Command + U,然后是 Command + H。(Control + H 会在模拟器出现后将其隐藏。)由于它几乎是瞬间出现的,因此这可能是一种将其移出您的视野范围的有效方法。

于 2011-07-27T14:32:50.447 回答
4

我已经设法运行我的单元测试来测试我的模型类,而无需启动模拟器,如下所示:

  1. 我没有设置任何捆绑加载器或测试主机构建设置,而是将我正在单元测试的 .m 文件添加到构建阶段编译源中。

  2. 然后我使用以下命令从命令行运行单元测试:

    xcodebuild -verbose -target TheElementsUnitTests -configuration Debug -sdk iphonesimulator5.0 clean build
    

不太确定为什么这没有启动模拟器,但绝对没有!

于 2011-11-29T22:02:52.910 回答
2

这是我设置为在测试行为配置中生成输出运行的一个小 AppleScript:

#!/usr/bin/osascript
activate application "Xcode"

按下command + U后,它会立即恢复 Xcode 。

PS我还打开了一个错误,Apple将其标记为重复。所以,他们很清楚。

于 2013-09-20T21:26:21.187 回答
1

多少时间/资源?我不会专注于减少这些,而是​​专注于扩展您的测试,使其远远超出 Apple 最初的“逻辑测试”指南。这些指南是有限制的,并且是在 Xcode 4 之前编写的。现在您可以编写测试而不用思考“这是逻辑测试还是应用程序测试?” - 只是测试一切。

于 2011-06-01T16:10:41.813 回答