先日、JUnit4からJUnit5への移行作業を実施しました。
移行する際に色々とコードの変更が必要なのですが、作業しながら「パッケージと名前の変更点が一括でまとまってる記事があったらな~」と思ったのでこの記事でまとめることにしました。
アノテーション
変更されたもの
JUnit4 | JUnit5 |
---|---|
org.junit.Before | org.junit.jupiter.api.BeforeEach |
org.junit.After | org.junit.jupiter.api.AfterEach |
org.junit.BeforeClass | org.junit.jupiter.api.BeforeAll |
org.junit.AfterClass | org.junit.jupiter.api.AfterAll |
org.junit.Test | org.junit.jupiter.api.Test |
削除されたもの
JUnit4 | JUnit5 |
---|---|
org.junit.runners.Enclosed | org.junit.jupiter.api.Nested |
org.junit.Ignore | org.junit.jupiter.api.Disabled |
org.junit.experimental.categories.Category | org.junit.jupiter.api.Tag |
org.junit.runner.Runwith | org.junit.jupiter.api.extension.ExtendWith |
org.junit.Rule | org.junit.jupiter.api.extension.ExtendWith |
org.junit.ClassRule | org.junit.jupiter.api.extension.ExtendWith |
↓パラメータ化テスト (少し特殊なので別に記載)
JUnit4 | JUnit5 |
---|---|
アノテーション(Runwithの引数に渡す) | アノテーション |
org.junit.runners.Parameterized | org.junit.jupiter.params.ParameterizedTest |
パラメータ指定 | |
import org.junit.runners.Parameterized.Parameters | org.junit.jupiter.params.provider.ValueSource org.junit.jupiter.params.provider.CsvSource etc... |
アサート
変更されたもの
JUnit4 | JUnit5 |
---|---|
org.junit.Assert.assertTrue | org.junit.jupiter.api.Assertions.assertTrue |
org.junit.Assert.assertFalse | org.junit.jupiter.api.Assertions.assertFalse |
org.junit.Assert.assertEquals | org.junit.jupiter.api.Assertions.assertEquals |
org.junit.Assert.assertArrayEquals | org.junit.jupiter.api.Assertions.assertArrayEquals |
org.junit.Assert.assertNull | org.junit.jupiter.api.Assertions.assertNull |
org.junit.Assert.fail | org.junit.jupiter.api.Assertions.fail |
削除されたもの
JUnit4 | JUnit5 |
---|---|
org.junit.Assert.assertThat | サードパーティー製のライブラリを使う assertJ static org.assertj.core.api.Assertions.assertThat hamcrest org.hamcrest.MatcherAssert.assertThat Truth com.google.common.truth.Truth.assertThat |
おわりに
変更点盛りだくさんでした。
本記事がこれから移行する方の助けになれば幸いです。
執筆 & 移行の際の参考サイト
- https://speakerdeck.com/akkie76/koredeshi-bai-sinai-junit-5-hefalsemaiguresiyonfang-fa
- https://junit.org/junit5/docs/current/user-guide/#migrating-from-junit4
エンジニア中途採用サイト
ラクスでは、エンジニア・デザイナーの中途採用を積極的に行っております!
ご興味ありましたら是非ご確認をお願いします。
https://career-recruit.rakus.co.jp/career_engineer/
カジュアル面談お申込みフォーム
どの職種に応募すれば良いかわからないという方は、カジュアル面談も随時行っております。
以下フォームよりお申込みください。
rakus.hubspotpagebuilder.com
ラクスDevelopers登録フォーム
https://career-recruit.rakus.co.jp/career_engineer/form_rakusdev/
イベント情報
会社の雰囲気を知りたい方は、毎週開催しているイベントにご参加ください!
◆TECH PLAY
techplay.jp
◆connpass
rakus.connpass.com