XcodeでProjectを作った時にデフォルトで作られるテストケースでのユニットテストで、少し(だいぶ)はまったのでメモして起きます。
Testsファイルから自作クラスが見えない?
Testsファイルから、自作クラスをインスタンス化しようとすると
このように、クラスが見えなくインスタンス化できない状態になってしまいました。
Targetがプロダクト用とテスト用で別だからできないのかなぁ。と思いつつ、不便だなぁ。とずっと思ってたんですが・・。
解決策
テストしたい対象のswiftファイルのTargetsに、~~Testsも追加してあげれば解決します。
ファイルを作成する時に、ここのTargetsを
このように、チェックを入れるのを忘れないようにすれば~~Testsからでもクラスが見えるようになります!
既存ファイルの場合・・・
既存ファイルの場合でも、簡単にTargetを変更可能です。
File Inspector内の、Target Membershipのチェックを変更することで、ファイル作成時に設定したTargetを自由に変更する事が可能です!
まとめ
よく考えてみたら当たり前だけど、なかなか気付きにくいんじゃないかなぁって思います。
classとmethodをpublicにしないとユニットテストできねーじゃん!!とか最初思ってたんですが、そんなことはなかったです。