Java 使用Mockito测试Model class equals()方法
如何测试模型类'Java 使用Mockito测试Model class equals()方法,java,mockito,Java,Mockito,如何测试模型类'equals()方法。我一直遇到以下问题: <<< FAILURE! - in EmployeeTest testEquals(EmployeeTest) Time elapsed: <<< ERROR! org.mockito.exceptions.misusing.UnfinishedVerificationException: Missing method call for verify(mock) here: -> at E
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.
Mockito.verify()给出了上述问题
私有静态员工模拟员工;
私人静态员工;
@课前
公共静态无效设置(){
mockedEmployee=mock(Employee.class);
员工=新员工(“第一名”、“最后一名”);
when(mockedEmployee.getFirstName())。然后return(Employee.getFirstName());
}
@试验
公开考试资格(){
Mockito.verify(mockedEmployee).equals(employee);
}
如果您想测试equals方法,我建议您使用类库,而不要使用模拟库。如错误消息中所述
final/private/equals()/hashCode()方法。这些方法是不可能的
存根/核实
因此,您必须创建真实的测试对象(不是模拟对象),然后通过将其与真实的预期对象进行比较来验证equals()
或者,您也可以在mock上验证其他方法(即验证姓氏设置是否正确verify(employee).setLastName(“ExpectedLastName”)
。谢谢您的回复。我不想使用另一个库来实现平等。有没有办法使用Mockito测试equals()?应该使用JUnit而不是Mockito。你不需要嘲笑。雇员雇员1=新雇员(“第一名”、“最后一名”);雇员雇员2=新雇员(“第一名”、“最后一名”);资产质量(员工1、员工2)。