嗨,我似乎无法弄清楚为什么我Use of undeclared type 'XCTestCaseEntry'
在我的.xctest中使用以下代码时:
import XCTest
#if !os(macOS)
public func allTests() -> [XCTestCaseEntry] {
return [
testCase(TrakkproTests.allTests),
]
}
#endif
答案 0 :(得分:1)
在尝试为使用Swift Package Manager构建的自定义框架运行单元测试时,我遇到了同样的问题。
事实证明,我在Xcode方案/设备选择器中意外选择了一个iOS模拟器:
这已编译了满足!os(macOS)
编译条件的iOS代码,并导致发生错误。 XCTestCaseEntry
似乎是swift-corelibs-xctest项目的一部分,该项目为非Apple平台(即linux)提供XCTest功能,但与Apple使用的实现方式不同...
对我来说,解决方案是在方案/设备选择器中选择“我的Mac”:
答案 1 :(得分:0)
看起来类型计划XCTestCaseEntry在2017年10月作为提交https://github.com/apple/swift-corelibs-xctest/commit/1c7fb283231ce53960a232aa7c771bb2d38dee62的一部分添加。
我不认为XCTestCase类作为XCode / XCTest的一部分还有这个改变。无论如何你在哪里检查这个?