定義済みクラスで「Use of undeclared type "ClassName"」のエラー

とっくに定義済みのクラスなのundeclaredと言われて怒られた。

Use of undeclared type "ClassName"

解決方法

右側の「Taget Membership」でテストターゲットの方にもチェックを入れる。

原因

あるクラスのテストを書こうとクラスが定義されたファイルだけテストターゲットに含めても、そのクラスの中で使われているクラスであれば、そのクラスが定義されたファイルもテストターゲットに含めないとエラーが出る。

これは、ビルド時にも起こる。

自分はそういったケースはテストの時にしか発生しないと思っていたので、ちょっとはまった。