【发布时间】:2023-03-19 11:59:01
【问题描述】:
我有一个关于如何在java中模拟一些调用的问题,例如,假设我有这个:
import whatever.package;
Class myClass extends otherClass {
public void myMethod() {
...
int a = methodCall();
...
}
}
问题是“methodCall()”来自包“whatever.package”,它是从“otherClass”继承的。是否可以模拟它以返回我想要的任何 int?
非常感谢!!
【问题讨论】:
-
那么methodCall在同一个类中?
-
“来自包装”是什么意思?它是
myClass或其他类的静态成员吗?还是myClass的非静态成员? -
所以 methodCall() 来自另一个包,因此它是另一个对象/类的一部分。但是你把它当作 myClass 的一个方法来使用。那么是哪一个呢?它可以是静态的,但不是必须的。 ..在您的示例代码中指出所有这些,这对于这个问题非常重要。如果你不这样做,就像问“我有一辆车,它有一些零件,比如发动机和变速箱,但它不工作,我该如何修理?”
-
绝对需要知道它是否是静态的。另外,如果它是非静态的,那么对象在哪里实例化?它是类级别的对象,还是特定于您的方法?
-
我刚刚意识到您的 cmets 我没有提供太多信息,对此感到抱歉。该方法属于我可以使用但我无权访问的类,因为它是我不拥有的某些软件的一部分。该方法是从另一个类继承的,所以我想这是在模拟对你父母的一些调用,我刚刚在我的帖子中解决了这个问题。
标签: java methods mocking easymock powermock