我的项目中有一个名为Meal.swift的类和一个单元测试
func testMealInitialization() {
// Success case.
let potentialItem = Meal(name: "Newest meal", photo: nil, rating: 5)
XCTAssertNotNil(potentialItem)
// Failure cases.
let noName = Meal(name: "", photo: nil, rating: 0)
XCTAssertNil(noName, "Empty name is invalid")
}
但问题是:使用未解析的标识符"用餐"
答案 0 :(得分:17)
答案 1 :(得分:15)
Xcode 7添加了@testable import
语句以简化用户测试。在单元测试类文件的顶部,添加以下语句:
@testable import MyApp
MyApp 是您的iOS应用的名称。现在单元测试目标应该能够在您的应用程序中找到类并运行测试。如果您收到链接错误,指出Xcode无法找到您的应用类,请确保产品模块名称构建设置的值与您在@testable import
语句中使用的名称相匹配,在此示例中 MyApp 。 / p>
如果@testable import
不适合您,则解决方法是让您的应用类成为单元测试目标的成员。您可以使用文件检查器在Xcode中设置文件的目标成员资格。
答案 2 :(得分:7)
我也遇到过这个问题,对我有用的是重新加载我的测试文件并重新输入
@testable import FoodTracker
然后在那时,它检测到我的FoodTracker类(用餐类)并且错误消失了。
答案 3 :(得分:6)
点击您的膳食课程。然后在右侧,您将看到“目标会员”部分。选择您的测试项目。 (Xcode 7) 瞧。
答案 4 :(得分:0)
就我而言,我仅在刚完成的新课程中出现错误,这让我感到困惑。因此,它可以通过在我的新班级的班级成员身份下选择单元测试目标来工作。或删除课程,再次创建新课程,然后在该新课程中选择 Unit Test Target 。
答案 5 :(得分:-1)
只需将要测试的类添加到目标-> 构建 阶段-> 编译源 >