Spring Boot において、Interceptor を定義した結果、JUnit にて想定外の動作になる現象が発生した話

More than 1 year has passed since last update.


概要

原因は全くわかりませんが、下記のようなインターセプターを定義した結果、JUnit 上の検証において、全く想定と異なる動作になりました。

例:


  • 本来 NULL になり得ない値が NULL になる。

  • CSVの出力結果を zip で取得し、解凍したところ、思いもしない文字列が取得された


interceptor.java

@Aspect

@Component
@Slf4j
public class TraceInterceptor {

private static final String POINT_CUT = "com.example.service.*.*(..))";

@Before(POINT_CUT)
public void before(JoinPoint joinPoint) {
log.info("{}#{} is called … parameters = {}, by \n",
joinPoint.getTarget().getClass(),
joinPoint.getSignature().getName()
Arrays.toString(joinPoint.getArgs());
}

@After(POINT_CUT)
public void after(JoinPoint joinPoint) {
log.info("{}#{} is successfully finished \n",
joinPoint.getTarget().getClass(),
joinPoint.getSignature().getName());
}
}


もちろん、@Around においても同様の動作となりました。


対処策

現在検討中です。。。なんとか対処したいところです。