Skip to content

[1.0] 追加で推奨されるテストケース #19

@kochizufan

Description

@kochizufan

今回作成したテスト(マイグレーション、クオータ管理)に加え、以下のテストを実装することで、プロジェクトの品質をさらに向上させることができます。

a. プラグインシステムのE2Eテスト (plugin.spec.ts)

  • 目的: プラグインシステムが実際のブラウザ環境で意図通りに動作することを保証します。
  • ツール: Playwright
  • 主なテストシナリオ:
    • requestWillFetch フックを使い、リクエストヘッダが正しく改変されることを確認する。
    • fetchDidSucceed フックを使い、レスポンスボディが正しく加工されることを確認する。
    • 複数のプラグインを登録し、意図した順序で実行されることを確認する。

b. オフライン機能のE2Eテスト (offline.spec.ts)

  • 目的: 本ライブラリの核となるオフライン機能を、実際のユーザー操作を通じて検証します。
  • ツール: Playwright(ネットワークのシミュレーション機能を使用)
  • 主なテストシナリオ:
    • キャッシュヒット: オンラインでリソースをキャッシュした後、オフラインに切り替えても、キャッシュ済みのリソースが正しく表示されることを確認する。
    • キャッシュミス: オフライン状態で、未キャッシュの領域にアクセスした際に、リソースが取得できず、適切に失敗することを確認する。
    • ネットワークエラー時のフォールバック: page.route() を使って意図的にネットワークエラーを発生させ、キャッシュ済みのリソースがあればそちらが表示される「キャッシュファースト」戦略が機能することを確認す
      る。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions