【发布时间】:2018-03-16 19:00:04
【问题描述】:
我在一个项目中有一些全局常量:
// DemoACIs.swift
let DEMO_TEST_MENU_SCREEN_VIEW_ACI = "test_menu_screen_view"
let DEMO_TEST_MENU_SCREEN_TITLE_LABEL_ACI = "test_menu_screen_title_label"
let DEMO_TEST_MENU_SCREEN_BUTTON1_ACI = "test_menu_screen_button1"
etc.
我想在 Xcode 中另一个基于 Swift 的目标中引用它们(在本例中为 UI 测试目标)...
// TestMenuScreenViewProxy.swift
import Foundation
import XCTest
class TestMenuScreenViewProxy
{
internal var view:XCUIElement { return app.otherElements[DEMO_TEST_MENU_SCREEN_VIEW_ACI] }
internal var titleLabel:XCUIElement { return app.textFields[DEMO_TEST_MENU_SCREEN_TITLE_LABEL_ACI] }
internal var button1:XCUIElement { return app.buttons[DEMO_TEST_MENU_SCREEN_BUTTON1_ACI] }
}
这当然行不通。在测试目标中找不到常量。如何使它们在该目标中可访问?
【问题讨论】:
-
通过检查目标成员身份,确保声明常量的文件与测试目标共享