1
1

More than 3 years have passed since last update.

XCTContextを使ったお手軽Parameterized Test

Last updated at Posted at 2020-09-06

はじめに

iOSのテストフレームワークはParameterized Testをサポートしていません。その制約を回避するために世の中にはいろいろな手法が提示されていますが、そのほとんどは設定や実装が面倒です。
そこで、私が実務を実践している、XCTContextを使ってお手軽に行う方法を披露したいと思います。

実現方法。

たったこんだけ。テスト結果にはちゃんとパラメータ毎のテスト結果がレポートされます。

  func test_hogehoge() {
        for (name, expectedResult) in ["テスト1": 1, "テスト2": 2, "テスト3": 3] {
            XCTContext.runActivity(named: name) { activity in 
               ...
               XCTAssertEqual(result, expectedResult) 
            }
        }
  }

さらに

パラメータ定義〜テスト実行部分をクロージャにとるメソッドとして実装すれば、もっと簡潔に重複を減らす形で実装できると思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1