응용 프로그램의 버그를 수정하기 위해라는 postLogin
기존 메서드에 호출을 추가하여 이름이 지정된 메서드를 수정했습니다 getShoppingCart
.
암호
protected void postLogin() {
getShoppingCart();
}
그러나 단위 테스트를 작성하는 가장 좋은 방법은 무엇인지 잘 모르겠습니다 postLogin
.
접근법 1
Mockito의 verify를 사용하여 메소드가 호출되었는지 간단히 확인하십시오.
verify(mock).getShoppingCart();
접근법 2
사용자 장바구니 값을 가져 와서 메소드 호출의 부작용을 테스트하십시오.
AssertNotNull(user.getShoppingCart());
하나의 접근법이 다른 접근법보다 낫습니까?
getShoppingCart()
방법은 부작용을 가지고, 당신은이 호출하는지 테스트 할 필요가 없습니다. 부작용이있는 경우, getXXX()
기존에는 메소드가 dem 등원이어야 하기 때문에 실제로 이름을 변경 해야합니다.
getNextValue
? 아마도 누군가는 "게터라고 부르지 말고 이름을 nextValue
"으로 바꾸십시오. 그러나 나는 getNext
이전에 사용 된 것을 보았습니다 . 아마도 더 좋은 예는 전자를 나타내는 물체 일 것입니다. 전화하면 getPosition
어떻게 되나요? 더 나쁘다getPosition(); getVelocity();