1

我试图从我的 UITest 目标中调用一个快速的单例。我正在导入主模块:@testable import Ary但是当我尝试构建它时说:

Undefined symbols for architecture armv7:
  "Ary.DataModelLayerOperation.getter : Ary.DataModelLayer", referenced from:
      AryUITests.AryUITests.setUp (AryUITests.AryUITests)() -> () in AryUITests.o

d: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

虽然语法突出显示有效(单例没有访问修饰符,所以它被标记为内部,这对于从测试目标进行访问应该是非常好的)......

我正在调用的函数是[在 XCTestCase 中]:

 override func setUp() {
    super.setUp()
  if !DataModelLayerOperation.isUserLoggedIn() {
    //do something
  }
}
4

1 回答 1

2

恐怕您目前无法实现您想要实现的目标。我遇到了类似的问题,并在这里问了我的问题。我很快就会接受这样的答案:

UI 测试是独立于应用程序的模块,因此不会像逻辑测试那样在应用程序内运行。

我希望这将在下一个 Xcode 版本中得到改进。

于 2015-12-18T12:39:25.953 回答