API コレクション


期待と確認


テストで予想される値、結果、非同期イベントを確認します。





概観


期待される結果を検証するには、expect(_:_:sourceLocation:) マクロと require(_:_:sourceLocation:) マクロを使用して下さい。エラーが throw されるか throw されない かを検証するために、テストライブラリにはあなたが使用できるこれらのマクロのオーバーロードがいくつか用意されています。詳細については、Swift コード内のエラーのテスト をご覧ください。


期待値を使用して直接確認できない非同期イベントの発生を確認するには、Confirmation を使用して下さい。詳細については、非同期コードのテスト (Testing asynchronous code) をご覧ください。



あなたのコードの結果を検証する


あなたのコードが期待した値を生成することを検証するには、expect(_:_:sourceLocation:) を使用して下さい。このマクロは渡された式をキャプチャし、コードが期待値を満たさない場合、詳細な情報を提供します。


@Test func calculatingOrderTotal() {
  let calculator = OrderCalculator()
  #expect(calculator.total(of: [3, 3]) == 7)
  // Prints "Expectation failed: (calculator.total(of: [3, 3]) → 6) == 7"
}

expect(_:_:sourceLocation:) が失敗した後もあなたのテストは実行され続けます。コードが要件を満たしていない場合にテストを停止するには、代わりに require(_:_:sourceLocation:) を使用してください。


@Test func returningCustomerRemembersUsualOrder() throws {
  let customer = try #require(Customer(id: 123))
  // The test runner doesn't reach this line if the customer is nil.
  #expect(customer.usualOrder.countOfItems == 2)
}

require(_:_:sourceLocation:) は、あなたのコードが要件を満たせない場合に ExpectationFailedError のインスタンスを throw します。





トピックス


期待値を確認する


macro expect(_:_:sourceLocation:)

条件が評価された後に期待値が満たされているかどうかを確認します。


macro require(Bool, @autoclosure () -> Comment?, sourceLocation: SourceLocation)

条件が評価された後に期待値が満たされたかどうかを確認し、失敗した場合はエラーを throw します。


macro require<T>(T?, @autoclosure () -> Comment?, sourceLocation: SourceLocation) -> T

optional の値を開封するか、nil の場合は失敗してエラーを throw します。



エラーが throw されたか確認する


Swift コード内のエラーのテスト

コードがあなたの期待どおりにエラーを処理することを確認します。


macro expect<E, R>(throws: E.Type, @autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> R) -> E?

式が常に与えられた型のエラーを throw することを確認します。


macro expect<E, R>(throws: E, @autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> R) -> E?

式が常に特定のエラーを throw することを確認します。


macro expect<R>(@autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> R, throws: (any Error) async throws -> Bool) -> (any Error)?

式が常に何らかの条件に一致するエラーを throw することを確認します。

  廃止  


macro require<E, R>(throws: E.Type, @autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> R) -> E

式が常に与えられた型のエラーを throw することを確認し、そうでない場合はエラーを throw します。


macro require<E, R>(throws: E, @autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> R) -> E


macro require<R>(@autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> R, throws: (any Error) async throws -> Bool) -> any Error

式が常に何らかの条件に一致するエラーを throw することを確認し、そうでない場合はエラーを throw します。

  廃止  



プロセスの終了方法を確認する


テストの終了

テストプロセスを終了する可能性のある機能をテストするには、テストの終了を使用します。


macro expect(processExitsWith: ExitTest.Condition, observing: [any PartialKeyPath<ExitTest.Result> & Sendable], @autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> Void) -> ExitTest.Result?

式によってプロセスが与えられた方法で終了することを確認します。


macro require(processExitsWith: ExitTest.Condition, observing: [any PartialKeyPath<ExitTest.Result> & Sendable], @autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> Void) -> ExitTest.Result

式によってプロセスが与えられた方法で終了することを確認し、終了しなかった場合はエラーを throw します。


enum ExitStatus

プロセスが終了時に報告する可能性のあるステータスを記述する列挙型。


struct ExitTest

終了テストを記述する型。




@@@@@@@@@@@@@@
8/12ここまで
@@@@@@@@@@@@@@














トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ












トップへ