以下で書いた通り、プロダクトコードを写経したテストコードを削除しました。
"こぶりー" ( 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」の記事
Codex や Claude のデスクトップアプリにあるピン留め機能が気に入っています。 ピン留めというメタファ 髪の毛を束にしてまとめるためのピン留めや、 コルクボードに紙を止めるためのピン留めなど、 何かを固定するというメタファがピン留
OpenAI の Codex を普段から愛用しています。 開発において、VS Code や IntelliJ IDEA という枯れたメジャーエディタを使っていましたが、 最近は Codex Desktop App だけでも案外イケるかも?と
ITヲタクな AI くんにピッタリな仕事の一つは、モジュールアップデート。 特に、メジャーアップデートが超助かる。 昔だったら 数ヶ月掛かった移行も、数日たらずに対応できるようになったので、 さすが ITヲタクくん。 対応してよかったフロー
タグ「フロントエンド」の記事
趣味で作っているWebアプリにて、実装したものを細かくPull Request(以降、PR)を作成します。 PR に対して、機械的にチェックするCIチェックリストがあります。 個人的に気に入っているものを紹介します。 未使用コードの削除 実
Webmention というのを最近知りました。 名前の通り、Web 上でメンションすることができます。 受信側、送信側、どちらも対応したので感想を残そうと思います。 Webmention ざっくりと Web AサイトにBサイトのリンクをつ
ITヲタクな AI くんにピッタリな仕事の一つは、モジュールアップデート。 特に、メジャーアップデートが超助かる。 昔だったら 数ヶ月掛かった移行も、数日たらずに対応できるようになったので、 さすが ITヲタクくん。 対応してよかったフロー
タグ「テスト」の記事
個人開発(趣味)レベルですが、テストに対するスタンスについて簡単に書きます。 コードレビュー 物量に圧倒されるプロダクションコードとテストコードをレビューするのは、 書く工程が減ったため読む深みが浅くなっています。 DIPやインターフェース
2026年10月03日
Testcontainers + Playwright + Cucumber.js による受け入れテストを、公私ともに活用しています。 運用していて気づいた点について、また書き残そうと思います。 開発PR単位でE2Eテスト これはTestc
2026年09月07日
テストコードをテストする、ミューテーションテスト。 プロダクションコードを突然変異でコードを書き換えたら(ミューテーション)、テストが失敗してくれるかどうか。 失敗するということは、不具合を検知できたということです。 ミューテーションする箇
2026年08月25日