私は本当に単体テストとTDDに夢中になりました-私はテストに感染しています。
ただし、ユニットテストは通常、パブリックメソッドに使用されます。ただし、プライベートメソッドでもいくつかの仮定(アサーション)をテストする必要がある場合があります。これは、それらの一部が "危険"であり、リファクタリングがそれ以上役に立たないためです。(フレームワークをテストすることでプライベートメソッドをテストできることはわかっています)。
したがって、プライベートメソッドの最初の行と最後の行の両方がアサーションであることが私の習慣になりました。
ただし、パブリックメソッド(およびプライベートメソッド)でアサーションを使用する傾向があることに注意してください。パブリックメソッドの前提条件は、ユニットテストフレームワークによって外部からテストされるため、これは「テストの重複」でしょうか。
誰かがあまりにも多くのアサーションをコードの匂いだと考えることはできますか?