Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ory/dockertestでテストの下準備をなるべく減らす

shuymn
October 13, 2023
150

 ory/dockertestでテストの下準備をなるべく減らす

Asakusa.go #1

shuymn

October 13, 2023
Tweet

Transcript

  1. 目次 • 前提 & なぜ下準備を減らしたいのか • ory/dockertest の紹介 • ory/dockertest

    の実践的な使い方(実際のコードを見ながら) • 今後の課題や展望 • 質疑応答
  2. なぜ下準備を減らしたいのか • 複数リポジトリ(サービス)を横断して開発することがある • 各サービスでテストの実行方法、テスト前にやっておくことが微妙に違う ◦ docker compose up ◦

    DBのマイグレーション(DBが共通だとより大変) ◦ など • 修正するよりもテストを動かすほうが時間がかかって苦痛 • とりあえず go test ./... か make test だけで完結してほしい
  3. (前提)Goのテストが実行される単位 • go test ./... • package X と package

    Y は並列 • x1_test.go と x2_test.go は直列 • TestX1_Foo と TestX1_Bar は直列 • (t.Parallelを使うと変わる) ◦ Go言語でのテストの並列化 〜t.Parallel()メソッドを理解する〜
  4. (前提)Goのテストが実行される単位 • package X と package Y は並列 • データが競合する

    • go test -p1 ./... は使いたくない • DATA-DOG/go-txdb を使う → トランザクションが使えない* RDBでしか使えない