gpt4 book ai didi

java - 使用mockito时出现ClasscastException

转载 作者:行者123 更新时间:2023-12-01 12:40:45 25 4
gpt4 key购买 nike

我在测试用例中使用以下代码得到了类转换异常。

  Employee employee1= new Employee();
Employee employee2= new Employee();
Employee employee3= new Employee();
int id=1234;

when(employee1.getID()).thenReturn(id);
when(employee2.getID()).thenReturn(id);
when(employee3.getID()).thenReturn(id);

我想将其概括为

 when((((Employee)Matchers.any(Employee.class)).getID())).thenReturn(id);

我做错了什么吗?

java.lang.ClassCastException: org.hamcrest.core.IsInstanceOf cannot be cast to com.site.model.Employee

最佳答案

嗨,我知道这是一个非常古老的问题,但我今天自己也遇到了同样的问题。

无论如何,这与 hamcrest 处理 Matchers 的方式有关。我基本上不返回给定的类型,而是返回它的包装器。

解决这个问题的最简单方法是使用mockito而不是hamcrest中的任何一个,例如

when((((Employee)org.mockito.Matchers.any(Employee.class)).getID())).thenReturn(id); 

有关更多详细信息,请参阅此答案:comparison with mockito and hamcrest matchers

希望它可以帮助任何遇到这个问题的人;)

关于java - 使用mockito时出现ClasscastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25120796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com