如何解决Xcode 中的单元测试命令行工具目标
我一直在努力寻找一种方法来对我的代码进行单元测试。无法选择主要目标(MazeGeneratorTests
是否有 b/c 我已经创建了它)。
这是项目导航器的外观(不要介意随机结构):
使用 @testable import MazeGenerator
导入后,从模块调用任何内容都会导致 Undefined symbols for architecture x86_64
错误,例如:
func testPerformanceExample() throws {
measure {
let _ = generateNodes(rows: 20,cols: 20)
}
}
解决方法
我想通了。 “命令行工具”目标有点挑剔,因此您需要将所有逻辑分离到一个新的框架目标中——它带有一个单元测试目标——并使你想要的所有内容都可见 public
。然后构建框架并将其导入您的 main.swift
文件。