プライベートメソッドをテストするべきか、それともパブリックメソッドのみをテストするべきか? [closed] 質問する

プライベートメソッドをテストするべきか、それともパブリックメソッドのみをテストするべきか? [closed] 質問する

読みましたこの郵便受けプライベート メソッドのテスト方法について。私は通常、プライベート メソッドをテストしません。オブジェクトの外部から呼び出されるパブリック メソッドのみをテストする方が速いと常に考えていたからです。プライベート メソッドをテストしていますか? 常にテストする必要がありますか?

ベストアンサー1

私はプライベート メソッドの単体テストは行いません。プライベート メソッドは、クラスのユーザーに対して非表示にする必要がある実装の詳細です。プライベート メソッドをテストすると、カプセル化が壊れます。

プライベートメソッドが巨大であったり複雑であったり重要であったりして独自のテストが必要であることがわかった場合は、別のクラスに配置してそこでパブリックにします(メソッドオブジェクト)。その後、以前はプライベートだったが現在はパブリックになり、独自のクラスに存在するメソッドを簡単にテストできます。

おすすめ記事