機能サービスのテストの構成

機能のテスト機能は、テスト目的で App Engine 開発用ウェブサーバーで実行するように設計されています。これにより、データストア、blobstore などのサービスのステータスを変更して、サービスのさまざまなステータスに遭遇したときにアプリケーションが適切に動作するかどうかを判断できます。たとえば、データストア サービスのステータスを無効に変更することで、アプリでデータストアを正常に処理できるかどうかをテストできます。

機能のテスト機能を使用するには、いくつかの方法があります。

コンソールを使用して機能のステータスを変更する

コンソールで機能を変更する手順は次のとおりです。

  1. 開発用サーバーでアプリを実行している場合は、サーバーの URL /_ah/admin(例:http://localhost:8888/_ah/admin)にアクセスしてコンソールにアクセスします。
  2. コンソールで、左下にある [Capabilities Status] をクリックします。
  3. [Capabilities Status Configuration] ページで、アプリケーションで使用されていて、ステータスを変更するサービスを特定します。サービス名の横にあるメニューをクリックし、そのサービスでテストするステータスを選択します。

次にアプリでアクセスするときに、選択した設定がサービスに反映されます。アプリを実行し、動作を観察します。

コマンドラインを使用して機能のステータスを変更する

Eclipse を使用する場合は、debug コマンドライン オプションを使用して 1 つまたは複数の機能を設定できます。

Eclipse で VM コマンドライン引数を使用して機能設定を変更するには

  1. Eclipse を開いた状態で、プロジェクトを選択して右クリックし、[Debug As] > [Debug Configurations] を選択します。
  2. [Arguments] タブに移動し、[VM arguments] テキスト ボックスに目的のオプションを入力します。オプションの形式は、以下のとおりです。

    -Dcapability.status.capabilityname.*=statusname

    capabilityname はサービス名に置き換えます(機能(サービス)名を参照)。statusname は使用する機能のステータス(機能のステータス値を参照)に置き換えます。

    注: データストア書き込み機能の場合は、capabilitynamedatastore_v3 に置き換え、アスタリスク(*)を writeに置き換えます。置き換え後は Dcapability.status.datastore_v3.write のようになります。他の機能については、アスタリスクをそのままにしておきます。

    以下の画面キャプチャには、コマンドラインで無効にした 2 つの機能(データストアとイメージ)が表示されています。

  3. [Apply] をクリックして、変更を保存します。
  4. [Debug]をクリックして、これらの設定でアプリを実行します。

機能(サービス)名

API での機能名 コンソールに表示される機能名 説明
blobstore BLOBSTORE blobstore サービス
datastore_v3 DATASTORE クエリのデータストア サービス
datastore_v3,write DATASTORE_WRITE 書き込みリクエストのデータストアサービス
images IMAGES 画像サービス
mail MAIL メールサービス
memcache MEMCACHE memcache サービス
taskqueue TASKQUEUE タスクキュー サービス
urlfetch URLFETCH urlfetch サービス

機能のステータス値

すべての機能のステータス値 説明
DISABLED 機能は無効になっています。
ENABLED 機能は使用可能であり、現時点でメンテナンスは予定されていません。
SCHEDULED_MAINTENANCE 機能は使用可能ですが、メンテナンスが予定されています。
UNKNOWN このサービスのステータスは不明です。

Capabilities API を使用して機能のステータスを変更する

API のローカル サービスの機能テストを使用するには、LocalCapabilitiesServiceTestConfig クラスを使用します。詳細とコードのサンプルについては、ローカル サービスの機能テストを作成するをご覧ください。