JUnit5のExtension実装 - テストライフサイクルコールバックと引数の解決
JUnit5がリリースされてから5年近く経ちましたが、皆さんはもう乗り換えましたか?私も遅ればせながら1年くらい前から本格的に使い始めましたがJUnit5便利ですよね。@Nestedのテストのカテゴリ化や@ParameterizedTestによるパラメタライズドテストなどJUnit5から入った便利な機能はいくつもありますが、その中でも筆者が特に気に入っているのはExtensionによるテストライフサイクルコールバックの拡張と引数の解決です...
記事を読むOpenLibertyとVSCodeによるコンテナを用いた開発環境の構築
昨今の開発ではコードの修正が即反映されデバックも行えるHot Reloadの仕組みが当たり前になっていますが、これをコンテナを使ったJava開発で行おうとした場合、変更をどのように即座にコンテナ側に反映させるかが少し悩ましかったりします...
記事を読むArchUnitで考えるアーキテクチャ構造とその検証
「進化的アーキテクチャ」に続き「ソフトウェアアーキテクチャの基礎(日本語版)」発売で再び注目を浴びてきたArchUnitですがTips的な情報があまりネットにないので、これはArchUnitで検証しておこう!というパターンをよくありそうなアプリケーションを題材に実装例をまとめてみました。また、実装例だけだと味気ないので筆者なりのアーキテクチャに対する考え方を合わせて少しご紹介します。 --> Informationこの記事はArchUnit 0.23.1をもとに作成しています...
記事を読むHelidon Tips - MicroProfile RestClientを使ったRESTリソースのJUnitテスト
HTTPプロトコルを用いた結合レベルのRESTリソースのテストはどのようにやられていますか? クライアントからE2Eテストでドカンと一緒に確認でしょうか?それともRESTリソースを呼び出す疑似クライアントプアプリを作成して実施でしょうか?あるいは真面目にやっていないとかでしょうか?いずれにせよHTTPレベルでRESTリソース(REST API)に対するテストを細かくやろうと思った場合、それなりに手間は掛かると思います...
記事を読むらくらくMicroProfile RestClient
MicroProfileの厳選仕様を紹介していくシリーズの最後は前回紹介した『これは抑えておくベキ、もしくは使っておくベキ』仕様第1位の筆者一押しのMicroProfile RestClient(MP RestClient)です...
記事を読むHelidon Tips - Helidon MP Testing with JUnit5を使ってみる
CDIのテストはCDIコンテナが必要となる点やアノテーションをもとにした静的な依存解決が中心になることから融通が効きづらく悩ましい点がありました。Helidon MP Testing With JUnit5(Helidon MP Testing)は言ってしまえばHelidonを使ってJUnit5からCDIのテストを行えるようにしてくれるだけのライブラリですが、実際に使ってみると非常に便利で悩み多きCDIのテストを激変させる威力を秘めています...
記事を読むお手軽便利MicroProfile Config
勝手に選んだMicroProfile厳選仕様を紹介していく2回目はMicroProfile Config(MP Config)です。MP Configは前回の概要編で触れたとおりマイクロサービスでの利用が考慮された使い勝手の良い設定機能です。今回はその基本機能から特徴的な機能や応用機能まで実装例をもとに紹介していきます。 なお、記事はコードの抜粋を記載します。全体を見たい場合や動作を確認したい場合は以下のGitHubリポジトリを参照ください...
記事を読むHelidon Tips - SLF4J+LogbackへのLogger切り替え
HelidonのLogger実装にはJavaSEのJUL(java.util.logging)が使われています。これは標準を意識しての選択だと思われるためスタンスは理解できるのですが、実際のところJULはちょっと勘弁、、が正直なところかと思います。このため、使い慣れたLogger実装に切り替えたいところですが、SLF4Jなどのブリッジを利用せずコード上で直接java.util.logging.Loggerを利用する実装となっているため、他のLogger実装への切り替えが一筋縄ではいきません...
記事を読むコードが仕様の源泉MicroProfile OpenAPI
勝手に選んだMicroProfile厳選3仕様を紹介する初回はMicroProfile OpenAPI(MP OpenAPI)です。MP OpenAPIは前回の概要編でも説明したとおり、API仕様の取得リクエストに対しソースコード上のアノテーション情報をもとに動的にOAS(OpenAPI Specification)ドキュメントを生成しレスポンスとして返す一連の仕組みを定めた仕様です...
記事を読む使って分かった!お勧めMicroProfile仕様厳選3選
MicroProfileは大小様々な仕様が存在します。 前回紹介したサンプルアプリにMicroProfileの各機能を組み込んでフィット感を試してみた結果、MicroProfileを採用するのであれば『これは抑えておくベキ、もしくは使っておくベキ』と言える仕様がいくつかありました。今回はその中から厳選した3つの仕様をランキング形式で紹介します...
記事を読む