Bar*_*zyk 15 xcode ui-testing ios swift ios9
我收到一个错误:
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()
}
}
Run Code Online (Sandbox Code Playgroud)
这就是它的定义DBTabBarController.swift:
let DBTabBarOrderedIndexesKey = "TabBarOrderedIndexesKey"
Run Code Online (Sandbox Code Playgroud)
信息窗格:
常规窗格:
Bar*_*zyk 14
结论是:它不会起作用.
我向Apple报告这是一个错误,并得到了回复:
UI测试与单元测试的执行方式不同 - 单元测试在应用程序进程内运行,因此可以访问应用程序代码.UI测试在应用程序外部的单独进程中执行,因此可以模拟用户与应用程序交互的方式.您不希望自己能够通过UI测试访问您的应用类.
它是可以访问的应用程序代码从您的UI测试。只需将源文件添加到 UI 测试目标:
然后,您可以从 UI 测试代码中访问该应用程序代码:
但请记住,您从 UI 测试访问的应用程序代码是在 UI 测试目标(MyAppUITests) 中运行的代码,它与在实际应用程序目标 (MyApp) 中运行的代码不对应。所以不要用它来检查或修改应用程序状态。
| 归档时间: |
|
| 查看次数: |
3579 次 |
| 最近记录: |