“功能测试”功能旨在针对 App Engine 开发网络服务器运行以进行测试。借助此功能,您能够更改服务(如数据存储区、blobstore 等)的状态,进而确定应用在服务处于各种状态时是否能正常运行。例如,通过将数据存储区的服务状态更改为“已停用”,您可以测试应用是否能妥善处理数据存储区不可用的情况。
使用“功能测试”功能的方式有若干种,具体参见下文:
使用控制台更改功能状态
要在控制台更改功能,请执行以下操作:
- 当应用在开发服务器上运行时,通过在服务器上访问网址
/_ah/admin
来访问控制台,例如:http://localhost:8888/_ah/admin。 - 在控制台中,单击控制台左下角的功能状态。
- 进入功能状态配置页面,找到您的应用使用的一个或多个服务,选择要更改哪个或哪几个服务的状态,点击服务名称旁边的下拉菜单,选择要在服务上测试的状态:
完成上述步骤后,应用下次访问服务时,将使用您刚才选择的设置。运行应用,观察其行为。
使用命令行更改功能状态
如果您使用的是 Eclipse 环境,可以使用 debug 命令行选项对一个或多个功能进行设置。
要在 Eclipse 中使用虚拟机命令行参数更改功能设置,请执行以下操作:
- 打开 Eclipse,选中项目,点击右键,然后选择调试方式 > 调试配置。
- 转到参数标签页,然后在虚拟机参数 (VM arguments) 文本框中输入所需的选项。选项的格式如下:
-Dcapability.status.capabilityname.*=statusname
capabilityname
将替换为服务名称(请参阅功能(服务)名称),statusname
将替换为要使用的功能状态(请参阅功能状态值)。注意:对于数据存储区写入功能,请将
capabilityname
替换为datastore_v3
,将星号 (*
) 替换为write
,示例如下:Dcapability.status.datastore_v3.write
。对于其他功能,请保留星号,如图所示。下方的屏幕截图中的命令行停用了两种功能(数据存储和图像):
- 点击应用以保存更改。
- 点击调试以使用上述设置运行应用。
功能(服务)名称
API 中的功能名称 | 控制台中显示的功能名称 | 说明 |
---|---|---|
blobstore |
BLOBSTORE | blobstore 服务 |
datastore_v3 |
DATASTORE | 用于查询的数据存储区服务 |
datastore_v3,write |
DATASTORE_WRITE | 用于写入请求的数据存储区服务 |
images |
IMAGES | 图像服务 |
mail |
邮件服务 | |
memcache |
MEMCACHE | memcache 服务 |
taskqueue |
TASKQUEUE | 任务队列服务 |
urlfetch |
URLFETCH | 网址提取服务 |
功能状态值
所有功能的状态值 | 说明 |
---|---|
DISABLED |
该功能已停用。 |
ENABLED |
该功能可用,但当前并未安排维护。 |
SCHEDULED_MAINTENANCE |
该功能可用,但已安排维护。 |
UNKNOWN |
此服务的状态未知。 |
使用 Capabilities API 更改功能状态
要使用 API 中的本地服务“功能测试”功能,请使用 LocalCapabilitiesServiceTestConfig 类。如需了解详情并查看代码示例,请参阅编写本地服务功能测试。