As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Tutorial: Use um teste de confiança da suíte de testes de confiança
AWS IoT GreengrassO Testing Framework (GTF) e o Greengrass Development Kit (GDK) oferecem aos desenvolvedores maneiras de executar testes. end-to-end Você pode concluir este tutorial para inicializar um projeto do GDK com um componente, inicializar um projeto do GDK com um módulo de end-to-end teste e usar um teste de confiança do conjunto de testes de confiança. Depois de criar seu caso de teste personalizado, você poderá executar o teste.
Um teste de confiança é um teste genérico fornecido pelo Greengrass que valida os comportamentos dos componentes fundamentais. Esses testes podem ser modificados ou estendidos para atender às necessidades mais específicas dos componentes.
Para este tutorial, usaremos um HelloWorld componente. Se você estiver usando outro componente, substitua o HelloWorld componente pelo seu componente.
Neste tutorial, você faz o seguinte:
-
Inicialize um projeto do GDK com um componente.
-
Inicialize um projeto GDK com um módulo de end-to-end teste.
-
Use um teste da suíte de testes de confiança.
-
Adicione uma tag ao novo caso de teste.
-
Crie o JAR de teste.
-
Execute o teste do .
Tópicos
- Pré-requisitos
- Etapa 1: inicializar um projeto do GDK com um componente
- Etapa 2: inicializar um projeto do GDK com um end-to-end módulo de teste
- Etapa 3: use um teste da suíte de testes de confiança
- Etapa 4: adicionar uma tag ao novo caso de teste
- Etapa 5: criar o JAR de teste
- Etapa 6: executar o teste
- Exemplo: use um teste de confiança
Pré-requisitos
Para concluir este tutorial, você precisará do seguinte:
-
GDK versão 1.6.0 ou posterior
-
Java
-
Maven
-
Git
Etapa 1: inicializar um projeto do GDK com um componente
-
Inicialize uma pasta vazia com um projeto do GDK. Faça o download do
HelloWorld
componente implementado em Python executando o comando a seguir.gdk component init -t HelloWorld -l python -n HelloWorld
Esse comando cria um novo diretório nomeado
HelloWorld
no diretório atual.
Etapa 2: inicializar um projeto do GDK com um end-to-end módulo de teste
-
O GDK permite que você baixe o modelo do módulo de teste que consiste em uma implementação de recursos e etapas. Execute o comando a seguir para abrir o
HelloWorld
diretório e inicializar o projeto GDK existente usando um módulo de teste.cd HelloWorld gdk test-e2e init
Esse comando cria um novo diretório chamado
gg-e2e-tests
dentro doHelloWorld
diretório. Esse diretório de teste é um projeto Mavenque depende do JAR independente de testes do Greengrass.
Etapa 3: use um teste da suíte de testes de confiança
Escrever um caso de teste de confiança consiste em usar o arquivo de recurso fornecido e, se necessário, modificar os cenários. Para obter um exemplo de uso de um teste de confiança, consulteExemplo: criar um caso de teste personalizado. Use as etapas a seguir para usar um teste de confiança:
-
Use o arquivo de recurso fornecido.
Navegue até a
gg-e2e-tests/src/main/resources/greengrass/features
pasta no diretório atual. Abra oconfidenceTest.feature
arquivo de amostra para usar o teste de confiança.
Etapa 4: adicionar uma tag ao novo caso de teste
-
Você pode atribuir tags aos recursos e cenários para organizar o processo de teste. Você pode usar tags para categorizar os subconjuntos de cenários e também selecionar ganchos condicionalmente para execução. Os recursos e cenários podem ter várias tags separadas por um espaço.
Neste exemplo, estamos usando o
HelloWorld
componente.Cada cenário é marcado com
@ConfidenceTest
. Altere ou adicione tags se quiser executar somente um subconjunto da suíte de testes. Cada cenário de teste é descrito na parte superior de cada teste de confiança. O cenário é uma série de etapas que ajudam a entender as interações e os resultados esperados de cada caso de teste. Você pode estender esses testes adicionando suas próprias etapas ou modificando as existentes.@ConfidenceTest Scenario: As a Developer, I can deploy GDK_COMPONENT_NAME to my device and see it is working as expected ....
Etapa 5: criar o JAR de teste
-
Crie o componente. Você deve criar o componente antes de criar o módulo de teste.
gdk component build
-
Crie o módulo de teste usando o comando a seguir. Esse comando criará o JAR de teste na
greengrass-build
pasta.gdk test-e2e build
Etapa 6: executar o teste
Quando você executa um teste de confiança, o GTF automatiza o ciclo de vida do teste, além de gerenciar os recursos que foram criados durante o teste. Primeiro, ele provisiona um dispositivo em teste (DUT) como uma AWS IoT coisa e instala o software principal do Greengrass nele. Em seguida, ele criará um novo componente chamado HelloWorld
usando a receita especificada nesse caminho. O HelloWorld
componente é então implantado no dispositivo principal por meio de uma implantação do Greengrass Thing. Em seguida, será verificado se a implantação foi bem-sucedida. O status da implantação será alterado para COMPLETED
dentro de 3 minutos se a implantação for bem-sucedida.
-
Acesse o
gdk-config.json
arquivo no diretório do projeto para direcionar os testes com aConfidenceTest
tag ou qualquer tag que você especificou na Etapa 4. Atualize atest-e2e
chave usando o comando a seguir."test-e2e":{ "gtf_options" : { "tags":"ConfidenceTest" } }
-
Antes de executar os testes, você deve fornecer AWS credenciais para o dispositivo host. O GTF usa essas credenciais para gerenciar os AWS recursos durante o processo de teste. Certifique-se de que a função fornecida tenha permissões para automatizar as operações necessárias incluídas no teste.
Execute os comandos a seguir para fornecer as AWS credenciais.
-
-
Execute o teste usando o comando a seguir.
gdk test-e2e run
Esse comando baixa a versão mais recente do núcleo do Greengrass na
greengrass-build
pasta e executa testes usando-a. Esse comando também visa somente os cenários com aConfidenceTest
tag e gera um relatório para esses cenários. Você verá que os AWS recursos criados durante esse teste serão descartados no final do teste.
Exemplo: use um teste de confiança
O módulo de teste baixado no projeto GDK consiste em um arquivo de recurso fornecido.
No exemplo a seguir, usamos um arquivo de recurso para testar o recurso de implantação do software Greengrass. Testamos parcialmente a funcionalidade desse recurso com um cenário que executa a implantação de um componente por meio do GreengrassNuvem AWS. Essa é uma série de etapas que nos ajudam a entender as interações e os resultados esperados desse caso de uso.
-
Use o arquivo de recurso fornecido.
Navegue até a
gg-e2e-tests/src/main/resources/greengrass/features
pasta no diretório atual. Você pode encontrar a amostraconfidenceTest.feature
que se parece com o exemplo a seguir.Feature: Confidence Test Suite Background: Given my device is registered as a Thing And my device is running Greengrass @ConfidenceTest Scenario: As a Developer, I can deploy GDK_COMPONENT_NAME to my device and see it is working as expected When I create a Greengrass deployment with components | GDK_COMPONENT_NAME | GDK_COMPONENT_RECIPE_FILE | | aws.greengrass.Cli | LATEST | And I deploy the Greengrass deployment configuration Then the Greengrass deployment is COMPLETED on the device after 180 seconds # Update component state accordingly. Possible states: {RUNNING, FINISHED, BROKEN, STOPPING} And I verify the GDK_COMPONENT_NAME component is
RUNNING
using the greengrass-cliCada cenário de teste é descrito na parte superior de cada teste de confiança. O cenário é uma série de etapas que ajudam a entender as interações e os resultados esperados de cada caso de teste. Você pode estender esses testes adicionando suas próprias etapas ou modificando as existentes. Cada um dos cenários inclui comentários que ajudam você a fazer esses ajustes.