clang:错误:链接器命令失败,退出代码1(使用-v查看调用); “__TMaC15PasswordManager14ViewController”,引用自:

问题描述:

我正在学习iOS,现在有一个为应用程序构建UITest的问题。下面粘贴的代码将编译,如果我删除了var viewController:ViewController!字段,但添加它时失败。当我点击错误信息时,它会将我带到PasswordManagerUITests项目的“Build Phases”部分。我在下面的项目中包含了错误和Build阶段的屏幕截图。clang:错误:链接器命令失败,退出代码1(使用-v查看调用); “__TMaC15PasswordManager14ViewController”,引用自:

import XCTest 

@testable import PasswordManager 

class ViewControllerTestCase: XCTestCase { 

var viewController: ViewController! 

override func setUp() { 
    super.setUp() 
} 

override func tearDown() { 
    // Put teardown code here. This method is called after the invocation of each test method in the class. 
    super.tearDown() 
} 

func testExample() { 
    // Use recording to get started writing UI tests. 
    // Use XCTAssert and related functions to verify your tests produce the correct results. 
} 

} enter image description here

enter image description here

这是因为视图控制器(这是内PasswordManager一类吧?)是不可用的UI测试水平。而且它不应该。 您在UI测试中不需要@testable import PasswordManager。在UI测试中,您仅测试UI元素(XCUIElement对象),而不是来自应用程序本身的类。

如果你想测试你的应用类,那么你想写单元测试而不是UI测试。