以前に尋ねたこの質問に関連して、ユニットテストでまた行き詰まっています。
protected
私の現在の問題は、抽象Component
クラスのメソッドのテストに関連しています。
という名前のモック クラスの実装に成功しました。このモック クラスはConcreteComponent
、抽象クラスが持つすべてのものを非常にうまく継承します。
つまり、単体テスト ファイル内にこの具象クラスを作成しました。保護されたメソッドをテストする唯一の方法は、プライベート アクセサーを使用することです。ただし、単体テストと同じファイル内にプライベート アクセサーを作成できないため、保護されたメソッドにアクセスできません。
モック コンクリート クラスを別のファイルの別の名前空間に配置しようとしましたが、これにより、単体テスト ファイルで使用できるプライベート アクセサーを作成できるようになりました。それはうまくいきましたが、単体テストと同じファイル内にこのモック具体的なクラスが必要であると考えました。
だから今、私は2つの質問があります:
1) この問題の可能な回避策は何ですか?
2) 単体テスト クラスと同じファイルと名前空間内にあるモック クラスのプライベート アクセサーを作成できないのはなぜですか?