Checkout / Admin / Customer Accounts / POS のどのサーフェスの UI 拡張でも、Shopify の実行ホストを起動せずにユニットテストが書ける公式テストライブラリ。実 API と同じ型の安全なモックで、隔離レンダリング・操作シミュレート・検証ができる。
@shopify/ui-extensions-tester を使うと、Shopify の実行ホストを起動せずに、
どのサーフェスの拡張でもユニットテストが書ける。
拡張の動作確認には、稼働中の Shopify ホスト(実機環境)が必要だった。隔離した状態でロジックだけを素早く検証する公式手段が無かった。
拡張 API の型付きモックを使い、拡張を隔離レンダリング → 操作をシミュレート → 公開 API に対して挙動を検証。すべて型安全に行える。
拡張を標準的な DOM 環境にレンダリングし、出力を標準のテストパターンで query(検索・取得)できる。
モックされた shopify グローバルは実 API と同じ型を使用。誤った API 使用をテスト時に検出する。
Checkout / Admin / Customer Accounts / POS それぞれに妥当なモック既定値が用意され、テストが「すぐ動く」。
ユーザー操作を発火し、非同期の状態変化を dispatchEvent() または @testing-library/preact でテストできる。
強い型付きのモックと予測可能なテストパターンにより、AI 支援のテスト駆動開発(TDD)に適している、と記事が明示している。
いずれのサーフェスの拡張でも、稼働中の Shopify ホスト無しでテストできる。
| 項目 | 従来 | @shopify/ui-extensions-tester |
|---|---|---|
| 実行環境 | ホスト必要 稼働中の Shopify ホストが前提 | ホスト不要 標準 DOM 環境で完結 |
| API のモック | 公式の型付きモックは無し | 公式提供 実 API と同じ型のモック |
| サーフェス対応 | — | Checkout / Admin / Customer Accounts / POS に既定値 |
| ユーザー操作の再現 | 実環境での手動操作が中心 | dispatchEvent()・@testing-library/preact でシミュレート |
| API 誤用の検出 | 実行して初めて顕在化しがち | テスト時 型でテスト時点に検出 |
公式ドキュメントで詳細を把握する。
サーフェスごとのサンプルテストスイートを土台に着手。
拡張を描画し、操作をシミュレートして公開 API に対し検証。
この公式テストライブラリは API version 2026-04 以降で提供される。利用前提として拡張のバージョン整合を確認する。
稼働中の Shopify ホスト無しで完結するユニットテストなので、PR ごとの CI 実行や自動回帰テストに組み込みやすい。
モックされた shopify グローバルが実 API と同じ型のため、API の誤った使い方がテスト時点で型エラーとして顕在化する。
ユーザー操作の発火と非同期な状態変化の検証は dispatchEvent() もしくは @testing-library/preact で行う。
強い型付きと予測可能なテストパターンにより、AI 支援のテスト駆動開発に向くと明記されている。AI 生成コードの検証ハーネスとして使うと、誤った API 使用が型で弾かれるため手戻りを抑えられる。
dispatchEvent() で非同期な状態遷移も検証できる。shopify グローバルが実 API と同型のため、AI が誤用してもテスト時点で検出される。