“unsafeMutableAddressor:Swift.String”,引自:..“
我收到一个错误:
Undefined symbols for architecture x86_64: "DirectBistro.DBTabBarOrderedIndexesKey.unsafeMutableAddressor : Swift.String", referenced from: DirectBistroUITests.TabBarControllerTests.setUp (DirectBistroUITests.TabBarControllerTests)() -> () in TabBarControllerTests.o ld: symbol(s) not found for architecture x86_64
这是我简单的UITest
类:
import XCTest @testable import DirectBistro class TabBarControllerTests: XCTestCase { override func setUp() { super.setUp() let defaults = NSUserDefaults.standardUserDefaults() defaults.setObject([], forKey: DBTabBarOrderedIndexesKey) defaults.synchronize() } }
这是它在DBTabBarController.swift
定义DBTabBarController.swift
:
let DBTabBarOrderedIndexesKey = "TabBarOrderedIndexesKey"
信息窗格:
常规窗格:
结论是: 它不会起作用 。
我向Apple报告这是一个错误,并得到了回复:
UI测试的执行方式与unit testing不同 – unit testing在应用程序进程内运行,因此可以访问应用程序代码。 UI测试在应用程序外部的单独进程中执行,因此可以模拟用户与应用程序交互的方式。 您不希望自己能够通过UI测试访问您的应用类。