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.
}
答
这是因为视图控制器(这是内PasswordManager一类吧?)是不可用的UI测试水平。而且它不应该。 您在UI测试中不需要@testable import PasswordManager
。在UI测试中,您仅测试UI元素(XCUIElement
对象),而不是来自应用程序本身的类。
如果你想测试你的应用类,那么你想写单元测试而不是UI测试。