Bir uygulamadaki bir hatayı düzeltmek için, adlandırılmış postLogin
mevcut bir yönteme çağrı ekleyerek adlandırılmış bir yöntemi değiştirdim getShoppingCart
.
kod
protected void postLogin() {
getShoppingCart();
}
Ancak, birim testi yazmanın en iyi yolunun ne olduğundan emin değilim postLogin
.
Yaklaşım 1
Yöntemin çağrıldığını doğrulamak için Mockito'dan doğrulamayı kullanın.
verify(mock).getShoppingCart();
Yaklaşım 2
Kullanıcının alışveriş sepetinin değerini getirerek yöntem çağrısının yan etkisini test edin.
AssertNotNull(user.getShoppingCart());
Bir yaklaşım diğerinden daha mı iyi?
getShoppingCart()
yan etkileri olmadığı sürece, bunun denendiğini test etmenize gerek yoktur. Yan etkileri varsa, adını gerçekten değiştirmelisiniz, çünkü getXXX()
geleneksel olarak yöntemler idempotent olmalıdır.
getNextValue
? Tartışmalı olarak, birisi "Buna alıcı deme; adını değiştir nextValue
" diyebilirdi, ama daha önce getNext
kullanıldığını gördüm . Belki daha iyi bir örnek, bir elektronu temsil eden bir nesne olabilir; aradığımda ne olur getPosition
? Veya daha da kötüsü,getPosition(); getVelocity();