Ios Xcode测试未检测到我的类
在我的项目和单元测试中,我有一个名为mean.swift的类Ios Xcode测试未检测到我的类,ios,iphone,xcode,swift,xcode7,Ios,Iphone,Xcode,Swift,Xcode7,在我的项目和单元测试中,我有一个名为mean.swift的类 func testMealInitialization() { // Success case. let potentialItem = Meal(name: "Newest meal", photo: nil, rating: 5) XCTAssertNotNil(potentialItem) // Failure cases. let noName = Meal(name: "", pho
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")
}
但问题是:使用未解析标识符“fine”Xcode 7添加了
@testableimport
语句以简化单元测试。在单元测试类文件的顶部,添加以下语句:
@testable import MyApp
其中MyApp是您的iOS应用程序的名称。现在,单元测试目标应该能够在应用程序中找到类并运行测试。如果出现链接错误,表示Xcode找不到应用程序类,请确保Product Module Name build设置的值与本例中的
@testable import
语句MyApp中使用的名称匹配
如果
@testable import
对您不起作用,一个解决方法是使您的应用程序类成为单元测试目标的成员。您可以使用文件检查器在Xcode中设置文件的目标成员身份。@testable import MyApp
应该可以正常工作。请记住在Debug
中为您的UITest
目标设置适当的配置
我也遇到了这个问题,对我有效的方法是重新加载测试文件并重新键入
@testable import FoodTracker
然后,它检测到我的FoodTracker类(膳食类),错误消失。单击您的膳食类。然后在右侧,您将看到“目标成员”部分。选择您的测试项目。 (代码7)
瞧。在我的例子中,我只在刚刚创建的新类中出错,这让我感到困惑。因此,它通过在我的新类的类成员身份下选择单元测试目标来工作。或者删除该类,重新创建新类,然后在该新类中选择单元测试目标。如果没有选择,请确保没有错过
@testable
public@ChristianDietrich我的MEIN类是public如何使用@testable?那么它应该在没有@testable的情况下工作(即添加到导入中)xcode有点古怪,点击产品/测试按钮可能会有所帮助@testable import
对我的UITest类不起作用。为什么?必须有一种方法可以做到这一点,而不必手动将每个文件添加到UITest目标。这很容易出错–到目前为止,我还无法在我们的大型项目中使用@testable。通常情况下,问题是编译时出现“没有这样的模块”错误,经过长时间的摆弄,我认为它不能可靠地工作,而且肯定不能在UI测试类上工作我敢肯定,如果您的项目中有多个包(或“模块”),它就会出现问题。例如,我们将所有内容组织到不同的包中,如实用程序、模型、视图等。我们无法让测试类成功导入这些模块。产品模块名称构建设置让我很高兴-谢谢!解决方法(手动将类添加到测试项目)是我在具有多个POD和Carthage框架的工作区项目中唯一有效的方法。同样的问题,解决方案是在项目设置中设置“定义模块”。之后,我必须确保两个目标使用相同的部署目标。感谢,即使在将配置更改为.debug之后,我也得到了“没有这样的模块”,如图所示。我必须这样做:我必须重置xcode,当它重新加载时,错误仍然存在一秒钟,同时重建项目