以下で書いた通り、プロダクトコードを写経したテストコードを削除しました。
"こぶりー" ( https://kobliy.vercel.app/ ) という個人ブログを読むアプリのコードです。
その代わり、以下の構成のテストコードを用意しました。
Testcontainers については、以下で書いた記事が参考になります。
"こぶりー" では現在日付に関係するロジックがあります。
こういう時に Playwrightでのブラウザ日付を固定(2026年6月1日)にしたり、
TestcontainersのDockerコンテナのシステム日付を固定(2026年6月1日)にすることで、
日付に左右されないテストが実現できます。
"こぶりー" では、いくつかの環境を組み合わせています。
これらを Testcontainers の中にそのまま格納して環境変数だけ切り替えるだけで、
ローカルのテスト環境だけで全ての機能をチェックすることができます。
ローカル完結するので、テスト速度も早く安定したテストになります。
プロダクションコードを仕様とした写経テストコードは捨てて、
Gherkinのテストシナリオを仕様とさせます。
その代わり、テストシナリオにはこれまで実装してきた機能で守りたい機能のシナリオを記述する必要があります。
「何を守りたいか」を考える必要があり、今のところ思いつくままに列挙しています。
何度書いても冪等なテスト環境なので、何度も実行して検証して形にしました。
ここに書く粒度などは、まだ手探りな状態です。
守りたい仕様は定義できたので、
codemod によるファイル内の記述をチェック・強制(fix)するのを追加しました。
AIへのプロンプトやコンテキスト、AGENTS.md などによるガードレールよりも、
npm script のfixで直させた方が AI もそちらに沿うように倣ってくれるため、やっておきたいのです。
で、ほぼ大半のts,tsxファイルを変更しましたが、Testcontainersのテストのおかげで安心してマージできました。
-
s※ ログイン不要で投稿できます。
※ 同じブラウザから投稿を削除できます。
0
読み込み中...
タグ「AI」の記事
OpenAI の Codex を普段から愛用しています。 開発において、VS Code や IntelliJ IDEA という枯れたメジャーエディタを使っていましたが、 最近は Codex Desktop App だけでも案外イケるかも?と
ITヲタクな AI くんにピッタリな仕事の一つは、モジュールアップデート。 特に、メジャーアップデートが超助かる。 昔だったら 数ヶ月掛かった移行も、数日たらずに対応できるようになったので、 さすが ITヲタクくん。 対応してよかったフロー
この記事をかくときは、100%人の手で書いています。 UIをつくるときも、100%人の手で書いています。 (ロジックは AI に書かせます) 他にはプレゼンテーションやスライドといった書き物も、 コンテンツ準備は AI にさせますが、文章を
タグ「フロントエンド」の記事
Webmention というのを最近知りました。 名前の通り、Web 上でメンションすることができます。 受信側、送信側、どちらも対応したので感想を残そうと思います。 Webmention ざっくりと Web AサイトにBサイトのリンクをつ
ITヲタクな AI くんにピッタリな仕事の一つは、モジュールアップデート。 特に、メジャーアップデートが超助かる。 昔だったら 数ヶ月掛かった移行も、数日たらずに対応できるようになったので、 さすが ITヲタクくん。 対応してよかったフロー
最近のお悩みは、Webのソフトウェア開発におけるテストコードが爆増したことにより、 テスト成功による過度な安心感 によって手動確認するのが減っているのかもと思ったりしています。 例えば、Webのフォーム画面に小さな改修があったとして、その修
タグ「テスト」の記事
Testcontainers + Playwright + Cucumber.js による受け入れテストを、公私ともに活用しています。 運用していて気づいた点について、また書き残そうと思います。 開発PR単位でE2Eテスト これはTestc
2026年09月07日
テストコードをテストする、ミューテーションテスト。 プロダクションコードを突然変異でコードを書き換えたら(ミューテーション)、テストが失敗してくれるかどうか。 失敗するということは、不具合を検知できたということです。 ミューテーションする箇
2026年08月25日
お仕事先のWebアプリケーションに、Testcontainersを導入運用して数ヶ月経過しました。 良い点と困る点について、書き残しておきます。 前提 簡単な前提として、バックエンドDB・APIとフロントエンドの3層構成のよくあるWebアプ
2026年07月08日