【问题标题】:How can I unit test project level apis of a target in objective c?如何在目标 c 中对目标的项目级 API 进行单元测试?
【发布时间】:2019-04-08 10:31:53
【问题描述】:

我想为我的目标(比如 ABC)的 api 编写单元测试。我已经创建了一个单元测试目标来满足这个要求(Sav ABCTests)。现在我可以测试我的目标(ABC)的公共标头,但不能测试它的项目和私有标头。由于我正在进行的项目是 SDK 而不是应用程序,因此我无法公开每个标头。

我面临的问题是我无法导入项目/私有标头。 我正在使用 XCode 10 和 Objective-C 。

【问题讨论】:

标签: objective-c unit-testing xctest


【解决方案1】:

在 Objective-C 中,不要将 @import 您的目标 API 作为一个模块。相反,#import 你想要的特定标题。

【讨论】:

  • 问题是通过 #import ,在测试目标(即 ABCTests)中无法访问项目级别的标头
  • 是的。项目的输出是 .framework 而不是 .app
  • 我刚刚创建了一个小框架,ABC。它的测试可以#import 来自框架的任何头文件,即使头文件被标记为私有。我不明白是什么阻止你这样做。您是否尝试过创建一个全新的框架作为实验?
  • 我尝试创建新框架并且它工作正常,谢谢 Jon。你能说出是什么构建设置导致的吗?
  • 不,我从未遇到过您描述的问题。我建议仔细将新框架与您现有的框架进行比较。在最坏的情况下,您可以将代码移动到新网络中并尝试将其用作新家。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
相关资源
最近更新 更多