A funcionalidade de teste de capacidades foi concebida para ser executada no servidor Web de desenvolvimento do App Engine para fins de teste. Permite-lhe alterar o estado dos serviços, como o datastore, o blobstore, etc., para determinar se a sua aplicação se comporta corretamente quando encontra os vários estados possíveis do serviço. Por exemplo, ao alterar o estado do serviço de armazenamento de dados para desativado, pode testar se a sua app processa a indisponibilidade do armazenamento de dados de forma adequada.
Existem várias formas de usar a funcionalidade de teste de capacidades:
Altere o estado das capacidades através da consola
Para alterar as capacidades na consola:
- Com a app em execução no servidor de desenvolvimento, aceda à consola visitando o URL
/_ah/admin
no seu servidor, por exemplo: http://localhost:8888/_ah/admin. - Na consola, clique em Estado das capacidades na parte inferior esquerda da consola.
- Na página Configuração do estado das capacidades, localize o serviço ou os serviços usados pela sua app e cujo estado quer alterar. Clique no menu pendente junto ao nome do serviço e selecione o estado que quer testar nesse serviço:
Os serviços refletem agora as definições que escolheu da próxima vez que a sua app aceder aos mesmos. Execute a app e observe o respetivo comportamento.
Altere o estado das capacidades através da linha de comandos
Se usar o Eclipse, pode definir uma ou mais capacidades através das opções de linha de comando de depuração.
Para alterar as definições de capacidade através dos argumentos da linha de comandos da VM no Eclipse
- Com o Eclipse aberto, selecione o seu projeto, clique com o botão direito do rato e, de seguida, selecione Debug As > Debug Configurations.
- Aceda ao separador Arguments e introduza a opção pretendida na caixa de texto VM arguments. O formato da opção é
-Dcapability.status.capabilityname.*=statusname
capabilityname
é substituído pelo nome do serviço (consulte Nomes de capacidades (serviço)) estatusname
é substituído pelo estado da capacidade que quer usar (consulte os Valores do estado da capacidade).Nota: para a capacidade de gravação do arquivo de dados, substitua
capabilityname
pordatastore_v3
e o asterisco (*
) porwrite
, da seguinte forma:Dcapability.status.datastore_v3.write
. Para as outras capacidades, deixe o asterisco como mostrado.A captura de ecrã abaixo mostra duas capacidades (armazeno de dados e imagens) a serem desativadas a partir da linha de comandos:
- Clique em Aplicar para guardar as alterações
- Clique em Depurar para executar a sua app com essas definições.
Nomes das capacidades (serviço)
Nome da capacidade na API | Nome da capacidade apresentado na consola | Descrição |
---|---|---|
blobstore |
BLOBSTORE | O serviço Blobstore |
datastore_v3 |
DATASTORE | O serviço de armazenamento de dados para consultas |
datastore_v3,write |
DATASTORE_WRITE | O serviço de armazenamento de dados para pedidos de escrita |
images |
IMAGENS | O serviço de imagens |
mail |
CORREIO | O serviço de correio |
memcache |
MEMCACHE | O serviço de cache de memória |
taskqueue |
TASKQUEUE | O serviço taskqueue |
urlfetch |
URLFETCH | O serviço urlfetch |
Valores do estado da capacidade
Valores de estado para todas as capacidades | Descrição |
---|---|
DISABLED |
A capacidade está desativada. |
ENABLED |
A capacidade está disponível e não está planeada nenhuma manutenção de momento. |
SCHEDULED_MAINTENANCE |
A capacidade está disponível, mas está agendada para manutenção. |
UNKNOWN |
O estado deste serviço é desconhecido. |
Altere o estado das capacidades através da API Capabilities
Para usar a funcionalidade de teste de capacidades de serviços locais na API, usa a classe LocalCapabilitiesServiceTestConfig. Para mais informações e um exemplo de código, consulte o artigo Escrever testes de capacidades de serviços locais.