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 マーケティング新着記事

news072.jpg

「パーソナライズド広告・販促」に企業は意欲的 でも、消費者の印象は……
KPMGジャパンは顧客体験価値を向上させる6つのテクノロジーについて調査を実施した。企業...

news069.png

コロナ前に戻った「社会貢献意識」 2024年は過去最低の値に
博報堂生活総合研究所は、1992年から2年に一度実施している長期時系列調査「生活定点」の...

news209.jpg

「令和の米騒動」でコメの代わりに買われたもの 読売広告社が購買実態を分析
読売広告社は、食品ID-POS購買行動データベース「real shopper」のデータから今夏のコメ...