3

我有单元测试(不是 UI 测试),并且不希望随测试一起启动应用程序本身。我读到了所谓的非托管测试,这听起来很合适。但是,尝试在 Xcode 7.3 上启动非托管测试时,我遇到了一个严重的问题 - 它抱怨链接器无法找到正在测试的应用程序中的类。

我已阅读并尝试过的内容:

基于启动参数的应用程序委托替换- 不受欢迎,因为它迫使我的应用程序了解测试(紧密耦合、损坏的封装等......)并实际启动我的应用程序以及测试(即使什么都不做)

XCode 5 单元测试:启动我的应用程序- 在这里尝试了每个答案,除了更改类目标成员资格外,它们不起作用,这显然不是一个好的选择,因为手动更改目标成员资格容易出错,并且随着项目的增长变得困难

苹果的过时指南- 不

带有主机应用程序的 Xcode 测试目标强制错误的目标进入方案的构建部分- 不

https://stackoverflow.com/a/22024428/2305175 - 不

手动创建单元测试目标,明确设置Target to be tested为无 - 不

我如何在不更改类目标成员资格、应用程序委托替换和其他可疑技术的情况下运行非托管测试?

4

1 回答 1

0

您可以通过将xctool与xCode 7一起使用来实现此目的

  1. 首先转到您的测试目标设置。
  2. 转到常规选项卡
  3. 选择无作为主机应用程序
  4. 然后从终端安装 xctool
  5. 从终端运行测试如下,

    xctool -workspace test.xcworkspace -scheme testScheme run-tests -sdk iphonesimulator

于 2016-05-26T05:16:54.890 回答