编程语言
首页 > 编程语言> > java – 类数据类型的EasyMock匹配器

java – 类数据类型的EasyMock匹配器

作者:互联网

我正在做这个和easymock语法的噩梦:

public void foo(Class<?> clazz);

EasyMock.expects(object.foo(EasyMock.isA(???)));

如果我的参数是String.class,我该怎么办?我最初想:

EasyMock.isA(((类&LT?&GT)(String.class))的getClass().)

然而,当我调用foo(String.class)时,我得到:

java.lang.IllegalStateException:前面方法调用缺少行为定义:

解决方法:

您正在尝试验证将在运行时擦除的泛型类型.

改为使用捕获对象:

Capture<Class<?>> classCapture = new Capture<Class<?>>();
EasyMock.expect(object.foo(EasyMock.capture(classCapture)));

// ... other test setup ...

Assert.assertEquals(classCapture.getValue(), String.class);

标签:easymock,java
来源: https://codeday.me/bug/20191008/1873889.html