testの設定で junit platformを使うように書き換える。 engineを書き換えるなどはお好きなように。
+ test {
+ useJUnitPlatform()
+ }
PMDのJUnit4向けのfalse positiveで死ぬ
issueとしては以下になる。
6.7.0で対応されているので 6.7.0以降にアップデートしましょう
色々直さないといけない。
当方Macなので、sedがgnu sedじゃないので その辺は読み替えてください。
git ls-files '*.java' | xargs sed -i '' 's/import org.junit.runner.RunWith/import org.junit.jupiter.api.extension.ExtendWith/g'
git ls-files '*.java' | xargs sed -i '' 's/@RunWith(SpringRunner.class)/@ExtendWith(SpringExtension.class)/g'
git ls-files '*.java' | xargs sed -i '' 's/import org.springframework.test.context.junit4.SpringRunner/import org.springframework.test.context.junit.jupiter.SpringExtension/g'
git ls-files '*.java' | xargs sed -i '' 's/@RunWith(MockitoJUnitRunner.class)/@ExtendWith(MockitoExtension.class)/g'
git ls-files '*.java' | xargs sed -i '' 's/import org.mockito.junit.MockitoJUnitRunner/import org.mockito.junit.jupiter.MockitoExtension/g'
git ls-files '*.java' | xargs sed -i '' 's/import org.junit.After/import org.junit.jupiter.api.AfterEach/g'
git ls-files '*.java' | xargs sed -i '' 's/@After/@AfterEach/g'
git ls-files '*.java' | xargs sed -i '' 's/import org.junit.Before/import org.junit.jupiter.api.BeforeEach/g'
git ls-files '*.java' | xargs sed -i '' 's/@Before/@BeforeEach/g'
git ls-files '*.java' | xargs sed -i '' 's/import org.junit.Test/import org.junit.jupiter.api.Test/g'
git ls-files '*.java' | xargs sed -i '' 's/@Test/@Test/g'
git ls-files '*.java' | xargs sed -i '' 's/import org.junit.Ignore/import org.junit.jupiter.api.Disabled/g'
git ls-files '*.java' | xargs sed -i '' 's/@Ignore/@Disabled/g'
WireMockのRule使えないの辛い ひとまず、以下の3rd party moduleを使うことにした。
とりあえず今回はInjectServerを使う形で書き換えた。
- @Rule
- WireMockRule wireMock = new WireMockRule(WireMockConfiguration.wireMockConfig().dynamicPort());
+ @ConfigureWireMock
+ Options options = WireMockConfiguration.wireMockConfig().dynamicPort();
+
+ @InjectServer
+ WireMockServer wireMock;
- @Rule
- WireMockRule wireMock = new WireMockRule(WireMockConfiguration.wireMockConfig().dynamicPort());
+ @Managed
+ WireMockServer wireMock = new WireMockServer(WireMockConfiguration.wireMockConfig().dynamicPort());
面倒なので、assertjに全部書き換える。 junit-jupiterのassertion APIは順番が入れ替わってたりする。
assertjのassertThatThrownByか assertjのcatchThrowablesを使って 書き換える