自分がテストを始めるにあたって設定したことを書いていきます
プロダクトとテストのTargetのTeamを合わせる
Teamは同じものを設定します。開発当初からアカウントが決まっているなら何の問題も無いですが、最初仮のアカウントでプロジェクトを作って、後から本番アカウントに変更したりすると、TargetのTeamが食い違ってしまったりします。
もしプロダクトとテストで違うTeamを設定していると、CodeSigning周りでエラーが出ます。
バンドルIDを変える
こちらも途中でアカウントを変更した場合ですが、初期状態のテストTargetのバンドルIDは最初のアカウントに使われてしまっているため、バンドルIDを変更する必要があります。
バンドルIDはBuild Settingsから変更できます。
Podsのフレームワークがインポートされるようにする
特に工夫をしない限り、テストではPodsで入れたフレームワークが見つからないというエラーが出ます。検索してみると色々解決方法が出てきますが、自分はConfigurationで使うPodsを選択するところで、テストTargetのところをプロダクトTargetと同じにする、という方法でうまくいきました。
Podfileは特に変更しません。テストTargetの方にフレームワークを指定する必要はありません。
カバレッジを表示する
SchemeのTest設定で、"Gather coverage data"にチェックを入れると、テスト実行時にカバレッジが表示されるようになります。
カバレッジはテスト実行後、レポートのタブから確認できます。ファイルごとにどれくらいカバーできているか見ることができます。
プロダクトコードやテストコードのどこを通ったかも確認できます。通ったところは緑、通らなかったところは赤で表示されます。テストpassしたけど、実はテストコードが実行されてなかっただけ、なんてケースも発見できるようになるので、設定しておくと良いです。
おわりに
テストを始めようとしても、設定で詰まってしまうとかなりやる気を削がれますよね
そういった方々の参考になれば幸いです!