XCode 16.3 日本語化計画
式が常に与えられた型のエラーを throw することを確認します。
@discardableResult @freestanding(expression) macro expect<E, R>( throws errorType: E.Type, _ comment: @autoclosure () -> Comment? = nil, sourceLocation: SourceLocation = #_sourceLocation, performing expression: () async throws -> R ) -> E? where E : Error
errorType
throw されると予想されるエラーの型。expression が 任意の エラーを throw する可能性がある場合、または throw されるエラーの特定の型が重要でない場合は、(any Error).self を渡します。
comment
期待を説明するコメント。
sourceLocation
記録された期待と問題の原因となるソースの場所。
expression
評価されるべき式。
期待値が渡たされた場合、expression によって throw された errorType のインスタンス。期待が失敗した場合、結果は nil になります。
expression 式が与えられた型のエラーを throw する べき 場合は、#expect() のこのオーバーロードを使用します。
#expect(throws: EngineFailureError.self) { FoodTruck.shared.engine.batteryLevel = 0 try FoodTruck.shared.engine.start() }
expression がエラーを throw しない場合、または errorType のインスタンスではないエラーを throw した場合、現在のタスクで実行中のテストに対して Issue が記録されます。expression によって返される値はすべて破棄されます。
throw されたエラーが Error の別のインスタンスと等しいだけであれば、代わりに expect(throws:_:sourceLocation:performing:) を使用して下さい。
expression 式が全くエラーを throw しないようにするには、Never.self を渡すことができます。
#expect(throws: Never.self) { FoodTruck.shared.engine.batteryLevel = 100 try FoodTruck.shared.engine.start() }
expression がエラーを throw した場合、現在のタスクで実行中のテストに Issue が記録されます。expression によって返される値はすべて破棄されます。
テスト関数には throws で注釈を付けることができ、エラーを throw してテスト実行時に issue として記録することができます。expression によってエラーが throw されたときにテストを失敗させることが目的であり、式によってエラーが throw されないことを明示的に確認することが目的ではない場合、このマクロは使用しないでください。代わりに、問題のコードを単に呼び出し、自然にエラーを throw するようにしてください。
コードがあなたの期待どおりにエラーを処理することを確認します。
式が常に特定のエラーを throw することを確認します。
式が常に何らかの条件に一致するエラーを throw することを確認します。
  廃止  
式が常に与えられた型のエラーを throw することを確認し、そうでない場合はエラーを throw します。
式が常に何らかの条件に一致するエラーを throw することを確認し、そうでない場合はエラーを throw します。
  廃止