Spring Bootでログ出力をテストするアイデア
やりたかったこと
普通ならloggerが呼び出されることをunit testで確認すればよい。
しかし、とある事情でMockMvc
でリクエストを飛ばした際に意図した通りのログが出ていることを確認したかった。
やり方
標準出力にログが出ているか確認すればよい。
CapturedOutput
で標準出力を拾い、そこにログが含まれることを検証する。
@ExtendedWith
でテストを拡張してやればCapturedOutput
は簡単に使える。