きっかけ 外部コマンドを実行するなど、副作用の結果を取得しづらいときは、ログの挙動で期待する結果かどうかを判定したくなります。あるいは、ログ出力されるかどうかをテストしたいというときもあり、調べたり試行錯誤してみました。 コンストラクタインジェクションを使うやり方 mockのLoggerインスタンスを差し込めるようにするという、一番シンプルなやり方です。今のところはこのやり方に落ち着いています。 サンプルコード public class Sample { private Logger logger; public Sample() { this.logger = LoggerFactory.getLogger(this.getClass()); } public Sample(Logger logger) { this.logger = logger; } public void appl