仕事では主にJavaを使ったプログラミングをしているのですが、最近JUnitを使ってテストする際にとっても便利なクラスを見つけたので紹介しておきたいと思います。
そのクラスはBeforeAllCallBack
BeforeAllCallback (JUnit 5.5.0 API)
BeforeAllCallBackを使うと何ができるの?
というお話ですが、
最大のメリットはJUnit5で使える基本的なアノテーションである@BeforeAllと@AfterAllのメソッドを非staticで呼び出せるようになることです。
JUnitをそこそこ使ったことがある人は@BeforeAllと@AfterAllがstaticメソッドとして呼び出せないことで不便さを感じたことがあるはずです。
テストクラス全体の初期化で非staticメソッドをコールしたいのにできないというのはJavaエンジニアの多くが抱えるあるあるだと思います。
そんな悩みを解決してくれるBeforeAllCallBack、早速私が本業で開発していたサービスのテストにも取り込んで、テストの実装スピード・ソースコードの記述量・CIの実行時間をすべて改善できました。
BeforeAllCallBackオススメです。