【发布时间】:2016-11-24 11:18:27
【问题描述】:
例如,我从不使用XCTestCase.expectation 的描述,所以我想使用一个函数为其提供一个默认值,并通过命名明确说明我正在初始化期望,你可以' t 真正使用 XCTestExpectation 的初始化程序。但如果扩展不在测试目标中,则无法编译:
无法为“XCTest”加载底层模块
import XCTest
public extension XCTestCase {
func makeExpectation() -> XCTestExpectation {
return expectation(withDescription: "")
}
}
【问题讨论】:
-
为什么不在测试目标中包含这个扩展?它只用于测试,对吗?
-
如果您正在编写一个复杂的应用程序,您可能有多个测试目标 - 我公司的应用程序有大约 10 个内部框架,每个框架都有自己的测试目标。您如何在不重复自己的情况下在测试目标之间共享功能?我能想到的唯一方法是将同一个文件添加到所有 10 个文件中,但这很麻烦。