1.如何使用mockito为这个类编写junit?
public class Jerseybinding implements DynamicFeature{
@Override
public void configure(ResourceInfo resourceInfo, FeatureContext context) {
if (SomeImpl.class.equals(resourceInfo.getResourceClass()) || SomeResource.class.equals(resourceInfo.getClass())) {
context.register(new ExampleFilter(new ExampleMatcher()));
}
}
}
我已经编写了junit,但是当我试图返回someresource.class时,它抛出了错误。
public class JerseybindingTest {
public void before(){
resourceInfo = Mockito.mock(ResourceInfo.class);
info = Mockito.mock(UriInfo.class);
featureContext = Mockito.mock(FeatureContext.class);
}
@Test
public void testBind() {
Mockito.when(resourceInfo.getClass()).thenReturn(SomeResource.class); // this line also shows error when I return anything.class
Mockito.when(featureContext.register(Mockito.class)).thenReturn(featureContext);// same here
Jerseybinding.configure(resourceInfo,featureContext);
}
}
1条答案
按热度按时间zi8p0yeb1#
你得模仿一下
FeatureContext
并Assertregister
按预期调用。大致如下:
或者,如果您想验证传递到
register
方法。如果
register
是一个void方法,可以使用Mockito.doNothing().register(...)
如示例所示。如果
register
不是void方法,请使用Mockito.doReturn(null).register(...)
相反。