我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。
我试着
使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包
这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?
当前回答
我遵循了上面的步骤,这是有效的。然而,我的项目有更多的问题。我得到了这个警告,我不能从我的主项目中访问类来测试我的测试目标。
我发现您的测试目标产品模块名称(YourTestTarget ->构建设置->搜索产品模块)不能与您的项目名称相同。
一旦我改变了我的测试目标的产品模块名称,一切都工作了。
其他回答
对我来说,解决办法就是重新命名 导入myproject_ios 来 导入myproject 在我更新了目标myproject-ios的产品名称在构建设置/包装/产品名称/从${TARGET_NAME}到myproject。
这听起来是一个错误的构建设置的两个目标。 你需要确保:
对于两个目标,enable_teststability等于Yes。 测试目标的PRODUCT_MODULE_NAME值应该与应用程序的值不同。
环境:Xcode Version 9.0 (9A235) 场景:测试一个开源框架。 我也遇到了同样的问题:“没有这样的模块”。 解决方案: 选择Test目标。 选择构建阶段 添加要be的框架 通过链接二进制测试… 下面是测试文件:
另一件需要检查的事情:如果你有一个Objective-C项目,但正在用Swift编写单元测试,确保主目标至少使用一个Swift文件!
更多信息:
我当时在做一个Objective-C项目,但想用Swift写单元测试。
我在主目标中添加了一个Swift文件,以生成必要的ProjectName-Bridging-Header.h文件,编写了测试,一切都正常工作。
后来我删除了Swift文件,因为我认为我不需要它(所有主要目标的代码都是Objective-C…我只是在Swift中编写测试)。
直到后来我才注意到这个问题,在我做了一个“清洁/清洁构建文件夹”之后,“没有这样的模块”问题出现了。经过一番思考,我添加了一个新的空白Swift文件,问题就消失了。
我已经测试了很多次,有/没有Swift文件,它只适用于它…所以,我要么需要在项目中留下空白文件,将一些Objective-C转换为Swift,要么添加一些用Swift编写的新代码到项目中。
XCode 12.6 测试版
我不确定是什么导致了这个问题,但清洁我的构建文件夹没有排序。重启XCode也没有解决这个问题。
对我有效的方法是删除这一行:import XCTest,然后重新输入它。