このためにFastlane Snapshotを統合する必要はありません。スナップショットは、スクリーンショットを強制的にやっているだけのトリックは、このコードをトリガされます。
XCUIDevice.shared().orientation = .unknown
スナップショットdocumentationに説明したように、これはUIを変更しません。
残念ながら、あなたがあなたの述語に期待を使用していて、このコードをwaitForExpectations(timeout:handler:)
ハンドラクロージャに入れて、それがなぜわからない場合、これはうまくいきません。
あなたはこのように、独自のXCTestObservationハンドラを作成することができ、これを回避するには、次の
class MockObserver: NSObject, XCTestObservation {
func testCase(_ testCase: XCTestCase, didFailWithDescription description: String, inFile filePath: String?, atLine lineNumber: UInt) {
XCUIDevice.shared().orientation = .unknown
}
}
XCTestObservationCenter.shared().addTestObserver(MockObserver())
あなたはsetUp()
方法や具体的なtest...
方法のいずれかで、このコードを置くことができます。
テスト出力は、それが内部のエラーと実際の述語エラーとして「不明にデバイスの向きを設定します」と表示されますよう少し奇妙ですが、あなたのスクリーンショットを持っています:tearDown
オン
を持っていますか?ファストレーンのスナップショットと同様に、そのパスを設定できますか?ありがとう。 – Brduca