どうも!アプリケーション基盤チームの@yokotaso です。 単純だけど、大量のソースコードの修正が必要な場合、みなさんはどうやって修正していますか? Junit4からJunit5の移行調査をしていたときに、例外を検証する@Testの expected がJunit5では消えていることがわかりました。 社内のコードを調べたところ、修正が必要な箇所が1000箇所くらいということがわかったので、ASTを活用した自動修正ツールを作ってみました。 今回は自動修正ツールを使った大量修正の話を紹介します。 ASTとはなにか? ASTとはプログラミング言語のソースコードの構造をツリーとして表現したもです。 今回はJavaの話なので、javaparserを使って話していきます。 例えば次のようなテストコードがあったとします。 @Test(expected = IllegalArgumentExcepti