mizulba約1か月前 00Testcontainers でテスト用 Docker コンテナを自動管理するDockerテストTestcontainersTestcontainers は、テスト実行時に Docker コンテナを自動で起動・管理するライブラリ。docker-compose の内容をコードで管理できる。 主なメリット: テストと同じ言語(TypeScript等)で定義でき、型安全・IDE補完が効く 条件分岐や動的な設定が可能 テスト前後の処理(スキーマ適用等)を統合できる ポートはランダムにマッピングされるため競合しない 基本的な使い方: import { GenericContainer } from 'testcontainers'; const container = await new GenericContainer('mysql:8.0.33') .withEnvironment({ MYSQL_DATABASE: 'test_db' }) .withExposedPorts(3306) .withReuse() // コンテナ再利用で起動時間短縮 .start(); // 動的にポートを取得 const port = container.getMappedPort(3306);