5にTemporalyFolderに相当する機能がなかったため、自分のプロジェクトでは長らくJUnit4を使っていました。5.4でTempDirが来たため、徐々にJUnit5に置き換えています。その過程でSelenideを使った統合テストをJUnit5に置き換えたのですが、selenium-jupiterがなかなか便利でした。作業したリポジトリはこちらです。一筋縄に行かない部分もあるので、備忘録を残します:SpringBootTestとSelenideとの噛みあわせSpringBootTestにはランダムなポートでアプリケーションサーバを起動する機能がありテストの並列実行に役立ちます。指定するとインスタンスを作って注入してくれます。SelenideにはbaseUrlという設定があり、Configuration.baseUrlにURL文字列を指定しておくとSelenideDriverインスタンス作成時に使ってくれます。これによりテストメソッドではスキーマやドメイン名、ポート番号などを省略した相対URLを指定するだけで済むのですが。SelenideDriverインスタンスは@BeforeEachメソッドが実行されたタイミングで既に作成されているので以下のようにbaseUrlを指定しても効いてくれません。なってしまう}現状きれいに解決する方法が見当たらないので、テストメソッドでは相対URLではなく絶対URLを使うようにしています。SpringBootTestするならDocker内ブラウザは使わないほうが良いselenium-jupiterではDocker内のブラウザを使うこともできるのですが、ドキュメント末尾に注意書きがあるようにローカルにアプリケーションサーバを建てているときは一筋縄では行きません。DockerコンテナからDockerホスト(localhost)にHTTP接続をする必要があるのですが、ホスト名を解決する統一的な手法が存在しないのです。操作をしてシステムプロパティ経由でテストに対して渡す必要があり面倒です。baseUrlが使えればホスト名構築処理を抽象クラスで集中管理できたのでまだマシだったのでしょうが......。他にもブラウザで何らかの問題が起こったときのトラブルシュートが面倒ということもあり、SpringBootTestを使う場合はDocker内ブラウザは使用しないほうが良いのではと感じました。CIなら安定版のChromeをCI環境にインストールする方法があるので、コンテナを使う必要性もあまりありません。Entry2017-09-10javadoc.ioのクローンをreactorで実装したまた技術キャッチアップ用のプロジェクト作りました。