-3

我有一个接口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。

4

1 回答 1

1

在您的代码中,您将转换为具体类(鸭子)。通常,您会模拟接口。您的测试用例可能已经模拟了界面飞行。

如果您替换为,它应该可以正常((duck) fly).getWingSize();工作fly.getWingSize();

于 2015-07-08T02:27:59.113 回答