手动创建单元测试类时遇‘No such module XCTest’报错求助
解决手动添加XCTest类时“No such module XCTest”的问题
问题根源是你的项目缺少测试目标——当初没勾选「Include tests」,Xcode不会自动生成测试相关的编译环境,所以手动添加的类找不到XCTest模块。按以下步骤修复:
给项目添加测试目标
- 顶部菜单栏选
File>New>Target - 在弹出的模板窗口里,找到
Test分类,选Unit Testing Bundle,点Next - 配置测试目标的名称(比如和主项目同名加Tests后缀),确保「Target to be Tested」选到你的主项目,然后点
Finish
- 顶部菜单栏选
把自建文件夹里的测试类关联到测试目标
- 选中你的测试类文件,打开右侧的「File Inspector」(快捷键⌥⌘1)
- 找到「Target Membership」区域,只勾选刚才创建的测试目标(别勾主项目的target)
验证修复效果
回到测试类,import XCTest的警告应该已经消失。可以写个简单测试方法验证:import XCTest class MyCustomTest: XCTestCase { func testBasicEquality() throws { XCTAssertEqual(2+3, 5) } }点击类左侧的播放按钮,能正常运行测试就说明没问题了
额外提醒:测试类必须继承自XCTestCase,而且不要让测试类参与主项目的编译(也就是Target Membership只勾测试目标),否则会出现其他编译问题。
内容的提问来源于stack exchange,提问作者Gokul B
相关产品推荐
相关产品推荐

