1

不知道我应该如何问这个问题,但是当我定义我的模拟对象时,并且在代码中的某处它试图将其转换为不同的类型时,测试会抛出我

$Proxy6 cannot be cast to ...

如何解决这个问题?

4

2 回答 2

0

与往常一样,测试会告诉您有关您的设计的一些信息。为什么代码试图强制转换对象?你能给我们更多的细节吗?

于 2012-01-28T09:43:43.100 回答
0

这门课真的需要嘲笑吗?我通常模拟服务并为传入的值类型使用具体类。

此处概述了您可以做的一件事:在 test 中定义一个接口

如果确实需要模拟并且您不能执行上述操作,您可以提供您自己的实现来执行您希望模拟执行的操作,例如记录传入的值、调用的方法、返回您想要的值等,并断言您的最后需要 - 虽然这可能是很多工作。

最后,这是否指向您设计中的一些未识别的接口,或者被测代码需要一些重构?

于 2012-01-19T14:51:41.777 回答