为了修复应用程序中的错误,我postLogin
通过将调用添加到名为的现有方法上来修改了一种名为的方法getShoppingCart
。
码
protected void postLogin() {
getShoppingCart();
}
但是,我不确定编写单元测试的最佳方法postLogin
是什么。
方法1
使用Mockito中的verify可以简单地验证该方法是否已被调用。
verify(mock).getShoppingCart();
方法2
通过获取用户购物车的值来测试方法调用的副作用。
AssertNotNull(user.getShoppingCart());
一种方法比另一种更好吗?
getShoppingCart()
方法有副作用,否则您无需测试它是否被调用。如果确实有副作用,则应真正更改其名称,因为getXXX()
传统上方法应是幂等的。
getNextValue
?可以说,有人会说“不要称它为吸气剂;将名称更改为nextValue
”,但是我以前见过getNext
。也许更好的例子是代表电子的物体。我打电话时会getPosition
怎样?或更糟糕的是,getPosition(); getVelocity();