アプリケーションのバグを修正するために、postLoginという名前の既存のメソッドに呼び出しを追加することにより、という名前のメソッドを変更しましたgetShoppingCart。
コード
protected void postLogin() {
getShoppingCart();
}
ただし、単体テストを作成する最適な方法が何であるかはわかりませんpostLogin。
アプローチ1
Mockitoのverifyを使用して、メソッドが呼び出されたことを確認します。
verify(mock).getShoppingCart();
アプローチ2
ユーザーのショッピングカートの値を取得して、メソッド呼び出しの副作用をテストします。
AssertNotNull(user.getShoppingCart());
1つのアプローチは他のアプローチよりも優れていますか?
getShoppingCart()メソッドに副作用がない限り、メソッドが呼び出されることをテストする必要はありません。副作用がある場合、getXXX()メソッドは慣習的にべき等であるため、実際に名前を変更する必要があります。
getNextValue?おそらく、誰かが「ゲッターと呼ばないで、名前をnextValue」に変更できますが、getNext以前に使用されたことはあります。おそらく、より良い例は電子を表すオブジェクトでしょう。電話しgetPositionたらどうなりますか?またはさらに悪いことにgetPosition(); getVelocity();