我最近更新到Xcode 7 beta 5。我尝试在早期的项目中添加一个单元测试,但是我在@可测试的导入myModuleName行上得到了错误消息“没有这样的模块[myModuleName]”。

我试着

使用“选项清理生成文件夹”清理项目 检查“启用可测试性”(调试)在构建选项中设置为“是” 删除测试目标,然后重新添加iOS单元测试包

这些都不适用于这个项目(但是我已经在另一个项目中进行了测试)。有人遇到过这个问题并解决了吗?


当前回答

我也有同样的问题。清理构建文件夹和重新启动Xcode都不起作用。

对我来说有用的是确保测试目标和方案的“仅构建活动架构”的设置与应用程序的目标和方案的设置相匹配。

其他回答

我的问题是,我想测试的类应该是在一个单独的模块(API客户端),但类实际上是应用程序目标的成员,而不是框架目标。改变类的目标成员使导入错误消失!

对我来说,解决办法就是重新命名 导入myproject_ios 来 导入myproject 在我更新了目标myproject-ios的产品名称在构建设置/包装/产品名称/从${TARGET_NAME}到myproject。

这听起来是一个错误的构建设置的两个目标。 你需要确保:

对于两个目标,enable_teststability等于Yes。 测试目标的PRODUCT_MODULE_NAME值应该与应用程序的值不同。

一个需要注意的问题是,如果你的模块名中有一个破折号,那么你就必须用下划线来代替_。出于某种原因,我怀疑这可能是一个问题,这确实是我的问题。

如。@可测试import Ocean-Swift变成@可测试import Ocean_Swift

还有一件事,如果您确实使用@可测试语法,请确保在测试目标中不包含您的生产代码。我发现这会引起莫名的奇怪。

除了列出的其他事情之外,我还必须将我试图测试的类的文件添加到单元测试模块的编译源中