機能のテスト機能は、テスト目的で App Engine 開発用ウェブサーバーで実行するように設計されています。これにより、データストア、blobstore などのサービスのステータスを変更して、サービスのさまざまなステータスに遭遇したときにアプリケーションが適切に動作するかどうかを判断できます。たとえば、データストア サービスのステータスを無効に変更することで、アプリでデータストアを正常に処理できるかどうかをテストできます。
機能のテスト機能を使用するには、いくつかの方法があります。
コンソールを使用して機能のステータスを変更する
コンソールで機能を変更する手順は次のとおりです。
- 開発用サーバーでアプリを実行している場合は、サーバーの URL
/_ah/admin
(例:http://localhost:8888/_ah/admin)にアクセスしてコンソールにアクセスします。 - コンソールで、左下にある [Capabilities Status] をクリックします。
- [Capabilities Status Configuration] ページで、アプリケーションで使用されていて、ステータスを変更するサービスを特定します。サービス名の横にあるメニューをクリックし、そのサービスでテストするステータスを選択します。
次にアプリでアクセスするときに、選択した設定がサービスに反映されます。アプリを実行し、動作を観察します。
コマンドラインを使用して機能のステータスを変更する
Eclipse を使用する場合は、debug コマンドライン オプションを使用して 1 つまたは複数の機能を設定できます。
Eclipse で VM コマンドライン引数を使用して機能設定を変更するには
- Eclipse を開いた状態で、プロジェクトを選択して右クリックし、[Debug As] > [Debug Configurations] を選択します。
- [Arguments] タブに移動し、[VM arguments] テキスト ボックスに目的のオプションを入力します。オプションの形式は、以下のとおりです。
-Dcapability.status.capabilityname.*=statusname
capabilityname
はサービス名に置き換えます(機能(サービス)名を参照)。statusname
は使用する機能のステータス(機能のステータス値を参照)に置き換えます。注: データストア書き込み機能の場合は、
capabilityname
をdatastore_v3
に置き換え、アスタリスク(*
)をwrite
に置き換えます。置き換え後はDcapability.status.datastore_v3.write
のようになります。他の機能については、アスタリスクをそのままにしておきます。以下の画面キャプチャには、コマンドラインで無効にした 2 つの機能(データストアとイメージ)が表示されています。
- [Apply] をクリックして、変更を保存します。
- [Debug]をクリックして、これらの設定でアプリを実行します。
機能(サービス)名
API での機能名 | コンソールに表示される機能名 | 説明 |
---|---|---|
blobstore |
BLOBSTORE | blobstore サービス |
datastore_v3 |
DATASTORE | クエリのデータストア サービス |
datastore_v3,write |
DATASTORE_WRITE | 書き込みリクエストのデータストアサービス |
images |
IMAGES | 画像サービス |
mail |
メールサービス | |
memcache |
MEMCACHE | memcache サービス |
taskqueue |
TASKQUEUE | タスクキュー サービス |
urlfetch |
URLFETCH | urlfetch サービス |
機能のステータス値
すべての機能のステータス値 | 説明 |
---|---|
DISABLED |
機能は無効になっています。 |
ENABLED |
機能は使用可能であり、現時点でメンテナンスは予定されていません。 |
SCHEDULED_MAINTENANCE |
機能は使用可能ですが、メンテナンスが予定されています。 |
UNKNOWN |
このサービスのステータスは不明です。 |
Capabilities API を使用して機能のステータスを変更する
API のローカル サービスの機能テストを使用するには、LocalCapabilitiesServiceTestConfig クラスを使用します。詳細とコードのサンプルについては、ローカル サービスの機能テストを作成するをご覧ください。