Power Query SDK test framework parte 5a - Testando o seu conector de extensão com Visual Studio Code

Esta referência com várias partes abrange a configuração e a execução de um conjunto padrão de testes para programadores de conectores do Power Query. Esta referência destina-se a ser feita sequencialmente para garantir que o seu ambiente está configurado para testar o seu conector personalizado.

Note

Este artigo aborda os testes usando o Explorador de Testes Visual Studio Code . Para o método utilitário PowerShell, veja Power Query SDK test framework parte 5b - Testar o seu conector de extensão com PowerShell.

Até agora, você concluiu as seguintes etapas:

  • Configurar o ambiente
  • Carreguei os dados do teste
  • Descarreguei o conjunto de testes
  • Aprendeu vários formatos de ficheiro e a sua funcionalidade

Finalmente está pronto para começar a verificar o seu conector de extensão com o conjunto de testes. Esta secção foca-se na utilização do Test Explorer integrado no Visual Studio Code, que fornece uma interface rica para descobrir, executar e depurar testes. Por baixo, esta integração utiliza a API de Testes Visual Studio Code e executa testes usando o comando > da utilitária PQTest run-compare).

Nesta secção, pode:

  • Configure o seu espaço de trabalho para o Test Explorer
  • Criar e configurar o ficheiro de definições de teste
  • Descubra e execute testes usando a interface
  • Veja os resultados dos testes e compare os resultados

Pré-requisitos

Para utilizar a integração do Test Explorer, certifique-se de que tem os seguintes pré-requisitos:

  • Visual Studio Code: Versão 1.100 ou posterior.

  • Power Query Extensão SDK: Assegure que a extensão SDK Power Query está instalada e atualizada para a versão 0.7.0 ou posterior. O seu projeto conector é reconhecido pelo SDK Power Query indicado pela secção Power Query SDK no painel do Explorador que mostra as tarefas do projeto.

    Captura de ecrã das Tarefas dentro da secção do SDK Power Query.

Configuração

Para permitir que o Explorador de Testes encontre e execute os seus testes, precisa de configurar um ou mais ficheiros de definições de teste específicos e as definições do seu espaço de trabalho do Visual Studio Code.

1. Ficheiro de Definições de Teste (.testsettings.json)

O .testsettings.json ficheiro orienta a descoberta do teste. Este ficheiro é funcionalmente idêntico ao ficheiro de configurações (.settings) introduzido na especificação do formato de teste, mas utiliza a .testsettings.json extensão para identificação explícita pelo Explorador de Testes.

Podes criar um novo .testsettings.json ficheiro ou migrar um ficheiro de definições existente renomeando-o para usar a .testsettings.json extensão. Coloque o ficheiro no seu projeto (por exemplo, na sua Settings pasta) com a configuração necessária.

Importante: Os caminhos especificados dentro do .testsettings.json ficheiro (como QueryFilePath, DiagnosticsPath, etc.) devem ser relativos à localização do próprio ficheiro de definições.

Exemplo .testsettings.json:

{
  "QueryFilePath": "../TestSuites/contoso.query.pq",
  "ParameterQueryFilePath": "../ParameterQueries/contoso.parameterquery.pq",
  "DiagnosticsPath": "../Diagnostics",
  "FailOnMissingOutputFile": true
}

2. Configurar a extensão

Tens de configurar o Power Query SDK com a localização das definições de teste, o ficheiro de extensão do conector e a utilidade PQTest.

  1. Abra as suas definições no Visual Studio Code.

    • Definições do Espaço de Trabalho (para caminhos específicos do projeto): Abra a Paleta de Comandos (Ctrl+Shift+P ou Cmd+Shift+P), escreva Preferências: Abrir Definições do Espaço de Trabalho (JSON) e selecione-a.
    • Definições de Utilizador (para caminhos globais): Abra a Paleta de Comandos, escreva Preferências: Abrir Definições de Utilizador (JSON) e selecione-a.
  2. Adicione as seguintes configurações:

    • powerquery.sdk.tools.location: O caminho absoluto para a pasta de instalação PQTest (contendo PQTest.exe). Esta definição pode ser definida tanto em Utilizador como em Workspace .
      • Exemplo: "C:\\Users\\<username>\\.vscode\\extensions\\powerquery.vscode-powerquery-sdk-<version>\\.nuget\\Microsoft.PowerQuery.SdkTools.<version>\\tools"
    • powerquery.sdk.test.settingsFiles: A lista de ficheiros de definições de teste a descobrir. Aceita um único caminho de ficheiro, um caminho de diretório (para descobrir todos os .testsettings.json ficheiros internos) ou um array de caminhos de ficheiros/diretórios. (Ambiente de trabalho )
    • powerquery.sdk.test.ExtensionPaths: A lista de ficheiros de extensão do conector (.mez) a testar. Aceita um caminho de ficheiro único ou um array de caminhos. Se não for fornecido, o SDK usa powerquery.sdk.defaultExtension (que suporta um único caminho). (Ambiente de trabalho )

Exemplo .vscode/settings.json:

{
  "powerquery.sdk.tools.location": "C:\\Users\\<username>\\.vscode\\extensions\\powerquery.vscode-powerquery-sdk-0.7.0-win32-x64\\.nuget\\Microsoft.PowerQuery.SdkTools.2.150.3\\tools",
  "powerquery.sdk.test.settingsFiles": [
    "${workspaceFolder}/Tests/Settings/MyConnector.testsettings.json"
  ],
  "powerquery.sdk.test.ExtensionPaths": [
    "${workspaceFolder}/bin/AnyCPU/Debug/MyConnector.mez"
  ]
}

Tip

Podes usar variáveis como ${workspaceFolder} criar caminhos relativos à raiz do teu projeto. Os caminhos relativos em settings.json são resolvidos em relação à raiz do espaço de trabalho.

3. Configurar Credenciais

Se o seu conector exigir autenticação, deve armazenar credenciais válidas antes de executar os testes. O Power Query SDK fornece uma tarefa para gerir credenciais diretamente a partir da interface do Visual Studio Code.

Para instruções detalhadas, consulte a secção Set credencial na visão geral do SDK Power Query.

Descoberta de Testes

Uma vez configurado, pode descobrir os seus testes na vista do Explorador de Testes.

  1. Abra a vista Testing em Visual Studio Code (selecione o ícone do béquer na Barra de Atividade).

  2. Deves ver os ficheiros de definições de teste listados.

  3. Expanda os nós para ver os testes descobertos. A hierarquia espelha a estrutura das tuas pastas.

    Captura de ecrã da animação a mostrar a descoberta de testes no Explorador de Testes.

Testes Refrescantes

Se adicionares novos testes, alterares as definições ou a descoberta falhar por algum motivo, podes atualizar a descoberta:

  • Atualizar Todos os Testes: Selecione o botão Atualizar Todos os Testes (ícone de seta circular) no topo do painel do Explorador de Testes para redescobrir os testes de todos os ficheiros de definições. Captura de ecrã de animação a mostrar como descobrir todos os testes para todos os ficheiros de definições a partir do Explorador de Testes.

  • Testes de Atualização referidos por um ficheiro de Definições de Teste: Passe o rato sobre um ficheiro específico de definições de teste e selecione o botão Testes de Atualização (ícone de seta circular) para redescobrir testes apenas para esse ficheiro.

    Captura de ecrã de animação a mostrar como redescobrir testes para um ficheiro de definições no Explorador de Testes.

Executando testes

Podes executar testes em vários níveis de granularidade diretamente a partir da interface:

  • Executar Tudo: Selecione o Run Tests (ícone de reprodução) no topo do painel.

    Captura de ecrã da execução de todos os testes a partir do Explorador de Testes.

  • Executar Grupo/Pasta: Passe o rato sobre uma pasta ou item de definições e selecione o botão Executar Teste .

    Captura de ecrã de um grupo de testes a partir do Explorador de Testes.

  • Executar Teste Individual: Passe o rato sobre um item específico do teste e selecione o botão Executar Teste .

Note

Se executares um item de definições que ainda não foi descoberto, a extensão descobre automaticamente os testes antes de os executar.

À medida que os testes são executados, os ícones de estado atualizam-se em tempo real para mostrar o progresso (em execução, aprovado ou falhado).

Visualização de Resultados e Depuração

O painel de Resultados do Teste (localizado no painel inferior por defeito) mostra os resultados brutos do PQTest ou quaisquer mensagens de erro. Também lista o histórico das últimas tentativas, mostrando testes aprovados e falhados.

Vista diferencial para falhas

Se um teste falhar porque a saída não correspondeu ao resultado esperado, o Explorador de Testes fornece uma vista de diferença incorporada. Selecione a falha no painel de Resultados do Teste para ver uma comparação lado a lado entre o resultado Real e o Esperado .

Captura de ecrã da visualização diferencial no Explorador de Testes mostrando a saída real vs esperada para um teste falhado.

Consulta ao Diagnóstico de Dobragem

Se a sua configuração de teste permitir a validação de query folding (especificando a DiagnosticsPath), a extensão também compara os diagnósticos gerados com a linha de base esperada.

Se um teste falhar devido a um desajuste de diagnóstico, pode ver a diferença entre os ficheiros de diagnóstico Real e Esperado selecionando a falha no painel de Resultados do Teste.

Captura de ecrã da vista diferencial no Explorador de Testes mostrando diagnósticos reais vs esperados para um teste falhado.

Ver Produção Esperada

Pode visualizar rapidamente o ficheiro de saída esperado (.pqout) para qualquer teste. Ou seleciona o ícone de Visualizar Saída Esperada do Teste (área de transferências) que aparece ao passar o rato sobre um teste, ou clica com o botão direito no item do teste e seleciona Visualizar Saída Esperada do Teste no menu contextual. Esta ação abre o ficheiro correspondente .pqout no editor.

Captura de ecrã da opção Ver Resultado Esperado do Teste no menu inline e contextual do Explorador de Testes.

Troubleshooting

Se encontrares problemas, verifica o canal de saída Power Query SDK para registos. Pode ajudá-lo a verificar o PQTest run-compare comando que está a ser executado e a identificar qualquer comportamento inesperado.

Problemas comuns

  • PQTest.exe não encontrado: Certifique-se de que a powerquery.sdk.tools.location definição aponta para o caminho absoluto correto da pasta de instalação do PQTest.
  • QueryFilePath inválido ou Nenhum teste descoberto: Verifique se os caminhos no seu ficheiro de definições de teste estão corretos. QueryFilePath deve apontar para um ficheiro válido .query.pq ou um diretório que os contenha. Lembra-te que os caminhos relativos em .testsettings.json são relativos ao próprio ficheiro de definições.
  • Expandir um ficheiro de definições não faz nada: Se expandir um nó no Explorador de Testes não mostrar testes, tente usar o comando Refresh Tests (ícone de atualização em linha com o item de definições) para ativar a descoberta novamente.

Conclusion

Esta secção mostrou-lhe como usar o Visual Studio Code Test Explorer para descobrir, executar e depurar eficientemente os seus testes de conectores. Esta abordagem orientada pela interface de utilizador oferece uma alternativa simplificada às ferramentas de linha de comandos.

Na secção seguinte, aprende a adicionar os seus próprios testes personalizados ao framework.

Passos seguintes

Power Query Framework de testes do SDK parte 6 - Adicionar os seus testes