

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á.

# Depure e execute conjuntos de teste personalizados
<a name="run-debug-custom-tests"></a>

Depois que a [configuração necessária](set-custom-idt-config.md) for definida, o IDT poderá executar seu pacote de teste. O runtime do pacote de testes completo depende do hardware e da composição do pacote de testes. Como referência, leva aproximadamente 30 minutos para concluir o pacote de qualificação completo AWS IoT Greengrass em um Raspberry Pi 3B.

Ao escrever seu pacote de testes, você pode usar o IDT para executar a conjunto de testes no modo de depuração para verificar seu código antes de executá-lo ou fornecê-lo aos executores de teste.

## Executar o IDT no modo de depuração
<a name="idt-debug-mode"></a>

Como os pacotes de teste dependem do IDT para interagir com dispositivos, fornecer o contexto e receber resultados, não é possível simplesmente depurar seus pacotes de teste em um IDE sem qualquer interação com o IDT. Para fazer isso, a CLI do IDT fornece o comando `debug-test-suite` que permite executar o IDT no modo de depuração. Execute o seguinte comando para visualizar as opções disponíveis para `debug-test-suite`:

```
devicetester_[linux | mac | win_x86-64] debug-test-suite -h
```

Ao executar o IDT no modo de depuração, o IDT na verdade não inicia o pacote de teste nem executa o orquestrador de testes. Em vez disso, ele interage com seu IDE para responder às solicitações feitas do pacote de teste em execução no IDE e imprime os logs no console. O IDT não atinge o tempo limite e espera para sair até ser interrompido manualmente. No modo de depuração, o IDT também não executa o orquestrador de testes e não gera nenhum arquivo de relatório. Para depurar o conjunto de testes, você deve usar seu IDE para fornecer algumas informações que o IDT normalmente obtém dos arquivos JSON de configuração. Forneça as seguintes informações:
+ Variáveis de ambiente e argumentos para cada teste. O IDT não lerá essas informações de `test.json` ou `suite.json`.
+ Argumentos para selecionar os dispositivos de recursos. O IDT não lerá essas informações de `test.json`.

Para depurar seus pacotes de teste, conclua as seguintes etapas:

1.  Crie os arquivos de ajuste de configuração necessários para executar o pacote de teste. Por exemplo, se o conjunto de testes necessita do `device.json`, `resource.json` e `user data.json`, configure todos eles conforme necessário. 

1. Execute o comando a seguir para colocar o IDT no modo de depuração e selecionar todos os dispositivos necessários para executar o teste.

   ```
   devicetester_[linux | mac | win_x86-64] debug-test-suite [options]
   ```

   Depois de executar esse comando, o IDT aguarda as solicitações do pacote de teste e responde a elas. O IDT também gera as variáveis de ambiente necessárias para o processo de caso do SDK do cliente de IDT. 

1. No seu IDE, use a configuração `run` ou `debug` para fazer o seguinte:

   1. Defina os valores das variáveis de ambiente geradas pelo IDT.

   1. Defina o valor de qualquer variável de ambiente ou argumento que você especificou em seu arquivo `test.json` e `suite.json`.

   1. Definir pontos de interrupção, conforme necessário.

1. Execute o pacote de teste em seu IDE. 

   É possível depurar e executar novamente o pacote de teste quantas vezes for necessário. O IDT não atinge o tempo limite no modo de depuração.

1.  Depois de concluir a depuração, interrompa o IDT para sair do modo de depuração.

## Comandos da CLI do IDT para executar testes
<a name="idt-cli-commands"></a>

As seções a seguir descrevem os comandos da CLI do IDT.

------
#### [ IDT v4.0.0 ]

`help`  <a name="idt-command-help"></a>
Lista as informações sobre o comando especificado.

`list-groups`  <a name="idt-command-list-groups"></a>
Lista os grupos em um determinado conjunto de teste.

`list-suites`  <a name="idt-command-list-suites"></a>
Lista os conjuntos de teste disponíveis.

`list-supported-products`  
Lista os produtos compatíveis com a sua versão, neste caso, versões do AWS IoT Greengrass e versões do pacote de testes de qualificação AWS IoT Greengrass disponíveis para a versão atual do IDT.

`list-test-cases`  
Lista os casos de teste em um grupo de teste. A seguinte opção é compatível:  
+ `group-id`. O grupo de teste a ser pesquisado. Esta opção é necessária e deve especificar um único grupo.

`run-suite`  
Executa um conjunto de testes em um grupo de dispositivos. Algumas opções comumente usadas a seguir:  
+ `suite-id`. A versão do pacote de teste a ser executada. Se não for especificado, o IDT usará a versão mais recente na pasta `tests`.
+ `group-id`. Os grupos de teste a serem executados, como uma lista separada por vírgulas. Se não for especificado, o IDT executa todos os grupos de teste no conjunto de testes.
+ `test-id`. Os casos de teste a serem executados, como uma lista separada por vírgulas. Quando especificado, `group-id` deve especificar um único grupo.
+ `pool-id`. O grupo de dispositivos a ser testado. É preciso especificar um grupo se houver vários grupos de dispositivos definidos no arquivo `device.json`.
+ `timeout-multiplier`. Configura o IDT para modificar o tempo limite de execução do teste especificado no arquivo `test.json` para um teste com um multiplicador definido pelo usuário.
+ `stop-on-first-failure`. Configura o IDT de modo a interromper a execução na primeira falha. Essa opção deve ser usada com para depurar os grupos de teste especificados `group-id`.
+ `userdata`. Define o arquivo que contém as informações de dados do usuário necessárias para executar o pacote de teste. Isto é necessário somente se `userdataRequired` estiver definido como verdadeiro no arquivo `suite.json` do pacote de teste.
Para obter mais informações sobre as opções `run-suite`, use a opção `help`:  

```
devicetester_[linux | mac | win_x86-64] run-suite -h
```

`debug-test-suite`  
Execute o pacote de teste no modo de depuração. Para obter mais informações, consulte [Executar o IDT no modo de depuração](#idt-debug-mode).

------