将测试从一个单元测试目标导入另一个

Posted

技术标签:

【中文标题】将测试从一个单元测试目标导入另一个【英文标题】:Import tests from one Unit test target into another 【发布时间】:2017-11-15 00:44:00 【问题描述】:

我们开始将我们的 swift ios 应用拆分为多个框架,以加快我们的 TDD 反馈周期。这些框架中的每一个都是一个具有自己的单元测试目标的项目。所有这些都是更大工作空间的一部分。

问题是我们无法使用当前 CI 设置运行多个测试目标。我想知道是否可以将我们所有的测试目标捆绑到一个 CI 中,但将它们分开以进行开发(可能通过将所有不同目标的测试导入/运行到“CI 单元测试目标”中)?

【问题讨论】:

查看这篇文章:noahgilmore.com/blog/xcode-shared-test-target 【参考方案1】:

您当然可以添加另一个目标并将 REFERENCES 添加到单元测试的文件中。他们可能更不需要修改模块导入名称。一个文件可以在多个项目中被引用,这甚至可以自动化,因为有一些工具,例如用于 python 的 PBXProj 允许读取/写入 Xcode 项目。

或者,但我不确定,是否可以创建一个添加了其他项目的聚合目标 - 这只是推测。

也许更好的问题是为什么不能运行多个测试目标?脚本或快速通道肯定会有所帮助吗?

【讨论】:

我会尝试分享单元测试参考,好主意谢谢。我已经尝试通过 xcodebuild 在一个脚本中运行我的所有测试,但是虽然它在本地工作,但它并没有在我的 CI 上运行。

以上是关于将测试从一个单元测试目标导入另一个的主要内容,如果未能解决你的问题,请参考以下文章

将 objc 动态框架与另一个 objc 动态框架链接会使 swift 单元测试目标失败

将目标导入单元测试和将该文件包含在目标成员中有啥区别?

如果测试模块位于姐妹文件夹中,如何让我的 Python 单元测试导入测试模块?

为什么?在单元测试覆盖范围内显示的类即使未在测试目标中添加

Xcode 4:为啥我不能将头文件添加到单元测试目标?

将 Angular 单元测试报告导入 Sonarqube