Swift XCTest 命名空间错误?
Posted
技术标签:
【中文标题】Swift XCTest 命名空间错误?【英文标题】:Swift XCTest namespace bug? 【发布时间】:2015-05-19 20:56:39 【问题描述】:我想知道我是否在 Swift 1.2/XCode 6.4(6E23) 中发现了命名空间/XCTest 错误:
我有一个带有公共函数 encode
的 .swift 文件,它需要几个参数。我还有一个 XCTest 文件来测试encode
函数。
我的 XCTest 文件可以很好地导入我的代码 - 我可以从中调用公共函数,甚至当我开始编写它时,给我带来麻烦的函数 encode
也能很好地自动完成。但是,当我尝试编译它时,我可以看到它失败(带有“调用中的额外参数”),因为编译器认为我正在调用 Foundation.encode 而不是我自己的。
更改它的名称使其工作正常,但这不是重点; Swift 应该优先考虑您的模块而不是系统的,所以这是一个错误还是我遗漏了什么?
【问题讨论】:
【参考方案1】:可能是这个问题:
声明encode
的swift 文件是否将Target Membership
设置为您的测试包和主包?如果没有,请选择 swift 文件,然后在右侧菜单中的 Target Membership
下,也选择您的测试包(它应该是一个复选标记)。
【讨论】:
确实如此,唉,这没什么区别。我有一个演示问题的虚拟项目here 我已经在这个here上提交了一个雷达以上是关于Swift XCTest 命名空间错误?的主要内容,如果未能解决你的问题,请参考以下文章