功能服务测试配置

“功能测试”功能旨在针对 App Engine 开发网络服务器运行以进行测试。借助此功能,您能够更改服务(如数据存储区、blobstore 等)的状态,进而确定应用在服务处于各种状态时是否能正常运行。例如,通过将数据存储区的服务状态更改为“已停用”,您可以测试应用是否能妥善处理数据存储区不可用的情况。

使用“功能测试”功能的方式有若干种,具体参见下文:

使用控制台更改功能状态

要在控制台更改功能,请执行以下操作:

  1. 当应用在开发服务器上运行时,通过在服务器上访问网址 /_ah/admin 来访问控制台,例如:http://localhost:8888/_ah/admin
  2. 在控制台中,单击控制台左下角的功能状态
  3. 进入功能状态配置页面,找到您的应用使用的一个或多个服务,选择要更改哪个或哪几个服务的状态,点击服务名称旁边的下拉菜单,选择要在服务上测试的状态:

完成上述步骤后,应用下次访问服务时,将使用您刚才选择的设置。运行应用,观察其行为。

使用命令行更改功能状态

如果您使用的是 Eclipse 环境,可以使用 debug 命令行选项对一个或多个功能进行设置。

要在 Eclipse 中使用虚拟机命令行参数更改功能设置,请执行以下操作:

  1. 打开 Eclipse,选中项目,点击右键,然后选择调试方式 > 调试配置
  2. 转到参数标签页,然后在虚拟机参数 (VM arguments) 文本框中输入所需的选项。选项的格式如下:

    -Dcapability.status.capabilityname.*=statusname

    其中,capabilityname 将替换为服务名称(请参阅功能(服务)名称),statusname 将替换为要使用的功能状态(请参阅功能状态值)。

    注意:对于数据存储区写入功能,请将 capabilityname 替换为 datastore_v3,将星号 (*) 替换为 write,示例如下:Dcapability.status.datastore_v3.write。对于其他功能,请保留星号,如图所示。

    下方的屏幕截图中的命令行停用了两种功能(数据存储和图像):

  3. 点击应用以保存更改。
  4. 点击调试以使用上述设置运行应用。

功能(服务)名称

API 中的功能名称 控制台中显示的功能名称 说明
blobstore BLOBSTORE blobstore 服务
datastore_v3 DATASTORE 用于查询的数据存储区服务
datastore_v3,write DATASTORE_WRITE 用于写入请求的数据存储区服务
images IMAGES 图像服务
mail MAIL 邮件服务
memcache MEMCACHE memcache 服务
taskqueue TASKQUEUE 任务队列服务
urlfetch URLFETCH 网址提取服务

功能状态值

所有功能的状态值 说明
DISABLED 该功能已停用。
ENABLED 该功能可用,但当前并未安排维护。
SCHEDULED_MAINTENANCE 该功能可用,但已安排维护。
UNKNOWN 此服务的状态未知。

使用 Capabilities API 更改功能状态

要使用 API 中的本地服务“功能测试”功能,请使用 LocalCapabilitiesServiceTestConfig 类。如需了解详情并查看代码示例,请参阅编写本地服务功能测试