アプリケーションのテスト
ドラフトのGitHub Marketplaceリストを使って、それぞれの支払いフローをシミュレートできます。 リストがドラフト状態にあるということは、まだそれが承認のためにサブミットされていないということです。 ドラフトのGitHub Marketplaceリストを使って行った購入は、実際の取引にはならず、GitHubはクレジットカードへの課金をしません。 シミュレートできるのはドラフトのリストに掲載されているプランの購入のみであり、ドラフトのプラン購入はシミュレートできません。 詳細な情報については、「アプリケーションのリストのドラフト」及び「アプリケーションでのGitHub Marketplace APIの利用」を参照してください。
変更のテストのために開発アプリケーションをドラフトリストと使用する
GitHub Marketplaceリストは、1つのアプリケーションの登録とのみ関連づけることができ、それぞれのアプリケーションは自身のGitHub Marketplaceリストにのみアクセスできます。 そのため、プロダクションのアプリケーションと同じ設定で別個の開発アプリケーションを設定し、テストに使用できるドラフトのGitHub Marketplaceリストを作成することをおすすめします。 ドラフトのGitHub Marketplaceリストを使えば、プロダクションのアプリケーションのアクティブなユーザに影響することなく変更をテストできます。 開発のGitHub Marketplaceリストはテストにのみ使われるので、サブミットする必要はありません。
ドラフトのGitHub Marketplaceリストは公開アプリケーションに対してのみ作成できるので、開発アプリケーションは公開しなければなりません。 公開アプリケーションは、アプリケーションのURLを共有しないかぎり、公開されたGitHub Marketplaceリスト外で見つかることはありません。 ドラフト状態のMarketplaceリストは、アプリケーションの所有者にしか見えません。
ドラフトリストと共に開発アプリケーションができたら、GitHub Marketplace APIやwebhookと統合しながらそれを使ってアプリケーションの変更をテストできます。
GitHub Marketplaceで公開されているアプリケーションでは、購入のテストを行わないでください。
Marketplaceの購入イベントのシミュレーション
テストのシナリオでは、無料トライアルを提供するリストプランをセットアップし、無料と有料のサブスクリプション間の切り替えが必要になるかもしれません。 ダウングレードやキャンセルは、次回の支払いサイクルまでは有効にならないので、GitHubは開発者のみの機能として、changed
及びcancelled
のプランアクションを強制的にすぐに有効にする「保留中の変更の適用」機能を提供しています。 _ドラフト_Marketplaceリストのアプリケーションのための保留中の変更の適用には、https://github.com/settings/billing#pending-cycleでアクセスできます。
APIのテスト
ほとんどのGitHub Marketplace APIエンドポイントに対しては、テストに利用できるハードコーディングされた偽のデータを返すスタブのAPIエンドポイントも提供されています。 スタブのデータを受信するには、ルートに/stubbed
を含むスタブURL(たとえば/user/marketplace_purchases/stubbed
)を指定してください。 スタブデータのアプローチをサポートしているエンドポイントのリストは、GitHub Marketplaceエンドポイントを参照してください。
webhookのテスト
GitHubは、デプロイされたペイロードをテストするためのツールを提供しています。 詳しい情報については「webhookのテスト」を参照してください。