swift - 运行单元测试用例时无法加载模块
问题描述
我正在构建一个框架(Provider
),在这个框架中,我使用了库(sdk.a
)。这个库是用 Objective C 编写的。我的框架是用 Swift 编写的,所以我使用了modulemap
. 在modulemap
我命名库 SDK
在我使用的代码中
import SDK //this line issue error when run unit testcase
class Manager{
public static let shared = Manager()
private var agent: LocalAgent? //SDK class
public connect: Bool
//no issue it works fine
private func find(_ device: Device) {
//more logical codes
self.connect = true
}
}
当我构建框架或从另一个应用程序使用框架时,上面的代码工作正常。
问题是当我testConnect()
从单元测试用例文件运行时,Manager.swift 文件import SDK
语句中的编译器发出错误“没有这样的模块‘SDK’”
测试用例文件:ManagerTest.swift
@testable import SDK
@testable import Provider
func testConnect(){
let manager = Manager.shared
manager.find(device)
}
解决方案
推荐阅读
- php - 用于 PHP 代码导航的 VS Code 扩展
- java - 从 Activity 外部调用 startActivity()
- c++ - 为什么通过`std::vector`进行迭代比通过`std::array`进行迭代更快?
- go - golang 是否深度复制整个接收器值?
- asp.net - jQuery DataTable 服务器端处理集成
- reactjs - 使用 Framer-motion 悬停在父级时为子级设置动画
- java - 即使我们在 catch 块中处理异常,如何在 spring 中使用 @ControllerAdvice 处理异常
- python - pytesseract - 识别不同背景的文本
- javascript - 在 React Native 应用程序(使用 Expo + Redux)中在哪里初始化 API 密钥(例如:Amplitude)?
- node.js - heroku 不使用纱线缓存模块