如何测试Model类'equals()
方法。我一直遇到以下问题:
<<< FAILURE! - in EmployeeTest
testEquals(EmployeeTest) Time elapsed: <<< ERROR!
org.mockito.exceptions.misusing.UnfinishedVerificationException:
Missing method call for verify(mock) here:
-> at EmployeeTest.testEquals(EmployeeTest.java:20)
Example of correct verification:
verify(mock).doSomething()
Also, this error might show up because you verify either of: final/private/equals()/hashCode() methods.
Those methods *cannot* be stubbed/verified.
Mocking methods declared on non-public parent classes is not supported.
Sample test method. Using Mockito.verify() for testing equals method.
答案 0 :(得分:1)
如果你想测试你的equals方法,我建议你使用像Equalsverifier这样的库而不是使用模拟器。
答案 1 :(得分:0)
正如错误消息中所述
final / private / equals()/ hashCode()方法。那些方法不能 存根/验证。
因此您必须创建真实的测试对象(而不是模拟),然后通过将其与实际预期对象进行比较来验证equals()
。
或者,您可以在模拟上验证其他方法(即验证姓氏是否已正确设置verify(employee).setLastName("ExpectedLastName")
)。