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 に答える