相关疑难解决方法(0)

模拟基于反射的调用

我试图模拟一些基于反射的方法.在下面你可以看到细节,

被测试的班级

public class TracerLog {
    @AroundInvoke
    public Object logCall(InvocationContext context) throws Exception {
        Logger logger = new Logger();
        String message = "INFO: Invoking method - " 
                + context.getMethod().getName() + "() of Class - " 
                + context.getMethod().getDeclaringClass();

        logger.write(message);
        return context.proceed();
    }
}
Run Code Online (Sandbox Code Playgroud)

测试

public class TracerLogTest {

@Mock
InvocationContext mockContext;
@Mock
Logger mockLogger;
@InjectMocks
private TracerLog cut = new TracerLog();

@BeforeMethod
public void setup() {
    MockitoAnnotations.initMocks(this);
}

@Test
public void logCallTest() throws Exception {
    when(mockContext.proceed()).thenReturn(true);
    when(mockContext.getMethod().getDeclaringClass().getName()).thenReturn("someClass");
    cut.logCall(mockContext);
    verify(mockContext).proceed();
}
Run Code Online (Sandbox Code Playgroud)

} …

java mocking mockito ejb-3.0

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

ejb-3.0 ×1

java ×1

mocking ×1

mockito ×1