Open3

XCTestで、失敗したテストケース(複数)だけを再実行したい

kabeyakabeya

XCUITestの実行が遅いので、失敗したところを1個1個手動で再実行してると、割とかかりきりになってしまいます。

操作

Xcodeの左サイドバーの上部ツールバーで、Show the Test Navigatorボタンを押すか、Viewメニュー→Navigators→Testsを選ぶと、テストの一覧がツリー状に表示されます。

ツリーで、コマンドキーを押しながら複数のテストを選び、コントロール+クリックでポップアップメニューを出すと、Run 2 Test MethodsとかRun 2 Test Methods Without Buildingとか出るので、それを選んで実行できます。

フィルタとか

Test Navigatorの下の部分に、Filterのフィールドがあって、そこの右側に3つボタンがあり、真ん中の「Show only failed tests」を押すと、ツリーに失敗したテストケースだけが表示されるようになります。
なのでそれらをコマンドキーとかシフトキーとか押しながら選ぶと、まあまあ簡単に実行できます。

ちょっと回りくどい

なんだろう、テストクラスを選択して「失敗したテストだけ再実行」とかそういうボタンがありそうなものだけども、そんな需要ってないのかな。

失敗したところに対応する修正をして、それらのテストだけとりあえず再実行して、OKになったら全体を再実行、みたいな感じになるんじゃないかと思うのですが。

kabeyakabeya

なんだろう、テストクラスを選択して「失敗したテストだけ再実行」とかそういうボタンがありそうなものだけども、そんな需要ってないのかな。

Filterをかけてfailed testsだけにした状態で、テストクラスの横の三角ボタンを押すと、失敗した奴だけ再実行してくれました。
文句言って済みませんでした。Xcodeさん。

kabeyakabeya

Filterをかけてfailed testsだけにした状態で、テストクラスの横の三角ボタンを押すと、失敗した奴だけ再実行してくれました。

嘘でした。Filterで表示されてない奴も実行してました。
あかんでしょ。Xcodeさん。