JUnit 5がついにリリースされましたね。
祝 JUnit5 リリース!2年の開発期間を経て11年ぶりのメジャーアップデート。開発資金難の時期もあった。本当にめでたい。 後方互換性はないが、使いやすいAPIになっている。 / “Release JUnit 5.0.0 · …” https://t.co/GaMaHnXzT5
— Takuto Wada (@t_wada) 2017年9月11日
後方互換性がなくなったこともあって、使い方を覚えたくなって私の自作ボットエンジン(Java版のHubot的なもの)をJUnit5で動くようにマイグレーションしてみました。
TL:DR
題材
GitHub - masahitojp/botan-core: tiny chat bot framework for Java SE 8.(like a Hubot)
Java8 Lambdaでパフォーマンスがどれくらい変わるかみるためにつくったもの
マイグレーション用の資料
Release JUnit 5.0.0 · junit-team/junit5 · GitHub
>> JUnit 5.0.0 = Platform 1.0.0 + Jupiter 5.0.0 + Vintage 4.12.0
今までと違ってテスト実行エンジンとテスト用の記法が別れてると考えるといいかも(まだちゃんと理解できてません)
VintageはJUnit4との互換性を残すためのものらしい
置き換え方
ざっくり以下の用に置き換えると無事移行できました
名前 | 4 | 5 |
---|---|---|
Before | org.junit.Before | org.junit.jupiter.api.BeforeEach |
After | org.junit.After | org.junit.jupiter.api.AfterEach |
Test | org.junit.Test | org.junit.jupiter.api.Test |
assertEquals | org.junit.Assert.assertEquals | org.junit.jupiter.api.Assertions.assertEquals |
ざっくりした例ですがこんな感じになります。
github.com