マクロ
require(throws:_:sourceLocation:
performing:)
iOS iPadOS Mac Catalyst macOS tvOS visionOS
watchOS Swift 6.0+ Xcode 16.0+
@discardableResult @freestanding(expression)
macro require<E, R>(
throws error: E,
_ comment: @autoclosure () -> Comment? = nil,
sourceLocation: SourceLocation = #_sourceLocation,
performing expression: () async throws -> R
) -> E where E : Equatable, E : Error
戻り値
expression によって throw され、error に等しい E のインスタンス。
概観
Throws
expression が一致するエラーを throw しない場合、ExpectationFailedError のインスタンス。expression によって throw されたエラーは再び throw されません。
式 expression が特定のエラーを throw する必要がある場合は、#require() のこのオーバーロードを使用して下さい。
try #require(throws: EngineFailureError.batteryDied) {
FoodTruck.shared.engine.batteryLevel = 0
try FoodTruck.shared.engine.start()
}
expression がエラーを throw しない場合、または error と等しくないエラーを throw した場合、現在のタスクで実行中のテストに対して Issue が記録され、ExpectationFailedError のインスタンスが throw されます。expression によって返される値はすべて破棄されます。
注意
このマクロを Swift コンパイラのバージョン 6.1 未満で使用すると、値は返されません。
throw されたエラーが特定の型のインスタンスであるだけでよい場合は、代わりに require(throws:_:sourceLocation:performing:) を使用してください。
以下も見よ
エラーが 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<R>(@autoclosure () -> Comment?, sourceLocation: SourceLocation, performing: () async throws -> R, throws: (any Error) async throws -> Bool) -> any Error
式が常に何らかの条件に一致するエラーを throw することを確認し、そうでない場合はエラーを throw します。
  廃止  
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ