スウィフト パラメータ化テスト
WWDC24でAppleはSwift Testingを導入し、@Testマクロのargumentsパラメーターを使用してテスト関数に引数を渡すことを可能にしました。この機能により、パラメータ化されたテストが可能になり、argumentsコレクション内の各値に対してテスト関数が1回呼び出されます。Test Navigatorは各テストの結果を表示します。2つの引数が渡された場合、Swift Testingは2つの引数の全ての組み合わせに対してテストケースを生成します。ただし、最多2つの引数までしかサポートされず、全ての組み合わせが必要ない場合は、引数をzipしてペアリングすることができます。この機能は、同じ結果を期待する入力引数のコレクションをテストする場合に特に便利です。CaseIterable enumを使用してテストを駆動する場合にも特に便利です。著者は、XCTestベースのユニットテストをSwift Testingに移行する際、特にCore Dataマネージドオブジェクトクラスの属性を検証する場合にこの機能が有効であったと発見しました。Swift Testingのアプローチは、forループを使用するよりも独立したテストケースが並列実行可能で、失敗の報告が明確になるなどの利点があります。全体的には、Swift Testingでのパラメータ化されたテストはテストを簡略化し、結合することができます。