1. ホーム
  2. unit-testing

[解決済み] プライベートメソッドをテストすべきか、パブリックメソッドのみをテストすべきか?[クローズド]

2022-03-14 01:38:35

質問

私が読んだのは この記事 プライベートメソッドをテストする方法について。なぜなら、オブジェクトの外から呼び出されるパブリックメソッドだけをテストする方が早いと思っているからです。あなたはプライベートメソッドをテストしますか?常にテストすべきなのでしょうか?

どのように解決するのですか?

プライベートメソッドのユニットテストをしていません。プライベートメソッドは実装の詳細であり、クラスのユーザには隠されているべきです。プライベートメソッドをテストすると、カプセル化が壊れる。

もし、そのプライベートメソッドが巨大であったり、複雑であったり、独自のテストが必要なほど重要であるとわかったら、別のクラスに入れて、そこで公開します ( メソッドオブジェクト ). そうすれば、以前は非公開だったけれど今は公開されているメソッドを、自分のクラスで簡単にテストすることができるようになります。