我需要模拟 Spring Java JoinPoint 来进行 JUnit 测试。请参阅下面的代码。
/**
* Pointcut that matches all Spring beans in the application's main packages.
*/
@Pointcut("within(com.cybersite.repository..*)"+
" || within(com.cybersite.service..*)"+
" || within(com.cybersite.web.rest..*)")
public void applicationPackagePointcut() {
// Method is empty as this is just a Pointcut, the implementations are in the advices.
}
/**
* Retrieves the {@link Logger} associated to the given {@link JoinPoint}.
*
* @param joinPoint join point we want the logger for.
* @return {@link Logger} associated to the given {@link JoinPoint}.
*/
private Logger logger(JoinPoint joinPoint) {
return LoggerFactory.getLogger(joinPoint.getSignature().getDeclaringTypeName());
}
有人知道我如何创建模拟 JoinPoint 吗?
最佳答案
JoinPoint joinPoint = mock(JoinPoint.class);
MethodSignature signature = mock(MethodSignature.class);
String typeName = "some name";
when(joinPoint.getSignature()).thenReturn(signature);
when(joinPoint.getSignature().getDeclaringTypeName()).thenReturn(typeName);
关于java - 需要模拟 JoinPoint 进行 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63567595/