Do you test private methodに関する議論は参考になりました。
一部のクラスでは、メソッドを保護したいが、それらをテストすることにしました。これらのメソッドの一部は、静的で短いものです。パブリック メソッドのほとんどはそれらを使用するため、後でテストを安全に削除できる可能性があります。しかし、TDD アプローチから始めてデバッグを避けるために、私は本当にそれらをテストしたいと思っています。
私は次のことを考えました:
- 回答でアドバイスされているメソッドオブジェクトは、これにはやり過ぎのようです。
- パブリック メソッドから始めて、より高いレベルのテストによってコード カバレッジが提供されたら、それらを保護してテストを削除します。
- 保護されたメソッドを公開するテスト可能なインターフェースを持つクラスを継承する
ベストプラクティスはどれですか? 他に何かありますか?
JUnit は自動的に保護されたメソッドを public に変更するようですが、私はそれを詳しく見ていませんでした。PHP では、これをリフレクション経由で行うことはできません。