Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode测试未检测到我的类_Ios_Iphone_Xcode_Swift_Xcode7 - Fatal编程技术网

Ios Xcode测试未检测到我的类

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

在我的项目和单元测试中,我有一个名为mean.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")

}

但问题是:使用未解析标识符“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,当它重新加载时,错误仍然存在一秒钟,同时重建项目