我有一个接口fly
和一个实现duck
的类fly
。
interface Fly {
getWingSize();
}
public class Duck implements Fly {
@Override
int getWingSize(){
return 1;
}
}
在我的控制器类中,当我尝试使用以下内容时:
Fly flyAnimal = Animal.getFlyingAnimal();
((Duck) flyAnimal).getWingSize();
它工作正常,但在我的junit中,它给出了一个类强制转换异常。我正在使用powermockito。
答案 0 :(得分:1)
在您的代码中,您将转换为具体类(duck)。通常,您会模拟接口。您的测试用例可能已经模拟了界面飞行。
如果将((duck) fly).getWingSize();
替换为fly.getWingSize();