当前位置: 首页 > 面试题库 >

如何在具有easymock的类中模拟静态方法?

司徒云
2023-03-14
问题内容

假设我有一个像这样的课程:

public class StaticDude{
    public static Object getGroove() {
        // ... some complex logic which returns an object
    };
}

如何使用简单的模拟方法模拟静态方法调用?StaticDude.getGroove()

我正在使用简单的模拟3.0


问题答案:

不知道如何使用纯EasyMock,但可以考虑使用EasyMock
的PowerMock扩展。

它具有很多很酷的功能,可以满足您的需要
-https://github.com/jayway/powermock/wiki/MockStatic



 类似资料:
  • 模拟由某个类实现的接口方法很容易,但如果有一个类并且有一个静态方法,那么我们如何借助easymock对其进行模拟呢?? supose是一个a类,有一个void retruned方法作为公共静态void methodA(一些参数…){} 我们如何在EasyMock的帮助下模仿A的方法methodA

  • 错误:org.mockito.exceptions.misusing.missingMethodInvocationException:when()需要一个参数,该参数必须是“mock上的方法调用”。例如:when(mock.getArticles()).thenreturn(articles); 此外,此错误可能会出现,因为:1。您可以存根:finall/private/equals()/has

  • 我正在尝试使用EasyMock+PowerMock模拟静态方法。如果我没有模拟静态方法,那么我会得到异常java.lang.ExceptioninInitializerError,但它有一个不同的堆栈跟踪,这完全是由于我的代码文件造成的,错误是显而易见的。但是,如果我使用EasyMock+PowerMock模拟静态方法,则行PowerMock.MockStaticNice(ClassName.Cl

  • 我有一堂这样的课: 我需要使用EasyMock模拟服务<代码>EasyMock。createMock()后跟replay()不起作用。P、 S:这是其他开发人员编写的遗留代码,我们不能在这里更改代码。

  • 问题内容: 我有一个类,我正在为应该执行以下操作的方法编写测试: 1)它应该调用静态方法上 2)它应该从子类方法填充变量 3)它应该从传递String参数的最终帮助器类中调用静态方法 4)它应该在blockList中调用每个的run方法 到目前为止,我有这个空方法: 我正在使用JUnit,Mockito来模拟对象,并且尝试使用PowerMockito来模拟静态类和最终类(Mockito不能这样做)

  • 我试图用Kotlin中的jMockit模拟一个静态方法: 但我得到以下错误: