使用未声明的类型' XCTestCaseEntry'

时间:2018-06-16 09:54:52

标签: ios swift xcode

嗨,我似乎无法弄清楚为什么我Use of undeclared type 'XCTestCaseEntry'

在我的.xctest中使用以下代码时:

import XCTest

#if !os(macOS)
public func allTests() -> [XCTestCaseEntry] {
    return [
        testCase(TrakkproTests.allTests),
    ]
}
#endif

2 个答案:

答案 0 :(得分:1)

在尝试为使用Swift Package Manager构建的自定义框架运行单元测试时,我遇到了同样的问题。

事实证明,我在Xcode方案/设备选择器中意外选择了一个iOS模拟器:

enter image description here

这已编译了满足!os(macOS)编译条件的iOS代码,并导致发生错误。 XCTestCaseEntry似乎是swift-corelibs-xctest项目的一部分,该项目为非Apple平台(即linux)提供XCTest功能,但与Apple使用的实现方式不同...

对我来说,解决方案是在方案/设备选择器中选择“我的Mac”:

enter image description here

答案 1 :(得分:0)

看起来类型计划XCTestCaseEntry在2017年10月作为提交https://github.com/apple/swift-corelibs-xctest/commit/1c7fb283231ce53960a232aa7c771bb2d38dee62的一部分添加。

我不认为XCTestCase类作为XCode / XCTest的一部分还有这个改变。无论如何你在哪里检查这个?