AtomicJar、Testcontainersで誰でも使える統合テスト環境を提供Java用エコシステムを拡張

Testcontainersの開発者によって創設されたAtomicJarは、Java用の統合テスト環境の構築を目指している。

2021年10月25日 08時00分 公開
[Adrian BridgwaterComputer Weekly]

 AtomicJarはソフトウェア開発サイクル全体で統合テストを容易にすることを使命として掲げるスタートアップ企業だ。同社はTestcontainersとの統合テストを提供するJavaエコシステムのフレームワーク拡張を目指している。

 Testcontainersは「JUnit」をサポートするオープンソースのJavaライブラリであり、Dockerコンテナで一般的なデータベースやSelenium Webブラウザなどを実行する軽量で使い捨てのインスタンスを提供する。JUnitは、Smalltalk用単体テストフレームワーク「SUnit」をベースとするJava用の単体テストフレームワークだ。

 AtomicJarの創設チームには、Testcontainers開発者のリチャード・ノース氏(AtomicJar CTO:最高情報責任者)とセルゲイ・エゴロフ氏(AtomicJar共同設立者兼CEO)が含まれる。

iStock.com/SARINYAPINNGAM

 ノース氏はDeloitte Digitalのチーフエンジニア時代の2015年にTestcontainersを開発した。同氏は統合テストのセットアップが絶望的に複雑だと考えていた。一貫性のあるローカルセットアップの作成からデータベースの構成やその他の無数の問題まで、全てに対応しなければならない。コードをテストする方法を必要とする開発者にとって、これら全てが混乱を招き、負担が掛かり、苦労させられる原因となっていた。

 そこでTestcontainersだ。これにより、開発者はデータストアやデータベース(「Redis」「PostgreSQL」など)から「Apache Kafka」「RabbitMQ」「Selenium」などまで、全て「コンテナを使って」直接テストできるようになる。

 Testcontainersはリリースから1年足らずで既存の統合テストプロジェクト数を上回り、最も人気があるDockerベースの統合テストライブラリになった。

 「単体テストは問題ない。だが、特にデータベースや外部リソースを操作する場合は、統合テストを行わなければ運用環境にデプロイした後の動作がどうなるのか分からない。AtomicJarは、統合テストはやっていないという言い訳を許さないツールを提供したいと考えている。文字通り世界中の誰もがそうしたツールを使えるようになる」(エゴロフ氏)

 Oracleの「Developers Blog」によると、Testcontainersによってデータアクセス層の統合テストが容易になるという。開発者はPostgreSQL、「MySQL」「Oracle Database」のコンテナインスタンスを使って互換性をテストできる。しかも、複雑なセットアップは必要ない。

 「あまりにも長い間、統合テストが非常に重要な場合でも禁句のように扱われてきた。統合テストは、実行するのも正しく理解するのも難し過ぎた。統合テストを開発者が恐れるのではなく、テストしたいと考えるほど魅力的なものにしたいと考えている」(ノース氏)

ITmedia マーケティング新着記事

news193.jpg

IASがブランドセーフティーの計測を拡張 誤報に関するレポートを追加
IASは、ブランドセーフティーと適合性の計測ソリューションを拡張し、誤報とともに広告が...

news047.png

【Googleが公式見解を発表】中古ドメインを絶対に使ってはいけない理由とは?
Googleが中古ドメインの不正利用を禁止を公式に発表しました。その理由や今後の対応につ...

news115.jpg

「TikTok禁止法案」に米大統領が署名 気になるこれからにまつわる5つの疑問
米連邦上院が、安全保障上の理由からTikTokの米国事業の売却を要求する法案を可決し、バ...