Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Este artigo aborda o teste usando o utilitário do PowerShell. Para testar usando o Gerenciador de Testes Visual Studio Code, consulte Power Query estrutura de teste do SDK parte 5a – Testando seu conector de extensão com Visual Studio Code.
Essa referência de várias partes aborda a instalação e a execução de um conjunto padrão de testes para desenvolvedores do conector do Power Query. Essa referência deve ser feita sequencialmente para garantir que seu ambiente esteja configurado para testar seu conector personalizado.
Até agora, você concluiu as seguintes etapas:
- Configurar o ambiente
- Carregaram os dados de teste
- Baixou o pacote de testes
- Aprendeu vários formatos de arquivo e suas funcionalidades
Finalmente, você está pronto para começar a verificar o conector de extensão com o conjunto de testes.
Nesta seção, você:
- Saiba como atualizar as consultas de parâmetro e os arquivos de configurações
- Definir o caminho para a estrutura de teste, a extensão do conector e o diretório de configuração de teste
- Definir credenciais para a extensão
- Validar os dados de teste executando testes de sanidade
- Validar seu conector executando o conjunto padronizado de testes
- Validar a dobra de consulta e gerar texto de comando em arquivos de diagnóstico
Definir os caminhos de PQTest.exe e extensão no arquivo RunPQSDKTestSuitesSettings.json
Navegue até \testframework\tests and open the RunPQSDKTestSuitesSettings.jsno arquivo na pasta de repositório clonada. Em seguida, defina os caminhos para PQTest.exe e a extensão no arquivo de configuração:
- PQTestExePath: substitua pelo caminho para PQTest.ext. Por exemplo, C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft. PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, em que <Username> é o nome da pasta de perfil do usuário, x.x.x é a versão atual da extensão Power Query SDK e x.xxx.x é a versão atual das ferramentas Power Query SDK.
- ExtensionPath: substitua pelo caminho para o arquivo mez de extensão. Por exemplo, C:\dev\<ConnectorName>\<ConnectorName.mez>, em <que ConnectorName> é o nome do conector.
Note
Você pode encontrar mais informações sobre todas as variáveis que você pode definir no arquivo RunPQSDKTestSuitesSettings.json no \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.jsfornecido no modelo.
Atualizar o arquivo de consultas e configurações de parâmetro com os detalhes específicos do conector de extensão da fonte de dados
Executando o script do PowerShell.\RunPQSDKTestSuites.ps1 cria as consultas de parâmetro e as configurações de teste criando uma pasta com <o Nome> da Extensão e as pastas Configurações e ParameterQueries nela da seguinte maneira:
- testframework\tests\ConnectorConfigs\<Extension Name>\ParameterQueries
- testframework\tests\ConnectorConfigs\<Extension Name>\Settings
Os exemplos a seguir mostram como seriam os caminhos para um conector chamado Contoso:
- testframework\tests\TestSuites\Contoso\ParameterQueries
- testframework\tests\TestSuites\Contoso\Settings
Note
Atualize a consulta M nos arquivos de consulta de parâmetro gerados para se conectar à fonte de dados e recuperar as tabelas NycTaxiGreen &TaxiZoneLookup carregadas anteriormente.
Como alternativa, crie manualmente os arquivos de consulta de parâmetro e os arquivos de configurações para sua fonte de dados executando as etapas abaixo:
- Navegue até a pasta \testframework\tests\ConnectorConfigs na pasta de repositório clonada.
- Faça uma cópia da pasta \generic e renomeie-a com o nome da extensão.
- Abra cada arquivo na pasta \ParameterQueries e atualize a consulta M conforme as instruções fornecidas nesses arquivos.
- Abra cada arquivo na pasta \Settings e atualize os caminhos de arquivo de consulta de parâmetro corretos.
Definir as credenciais para o conector de extensão
Verifique se as credenciais estão configuradas para o conector seguindo as instruções para o comando set-credential .
Como alternativa, gere um modelo de credencial no formato JSON para o conector usando o comando credential-template que pode ser passado para o comando set-credential . Para obter informações sobre o uso para gerar um modelo de credencial, consulte a seção credential-template .
# <Path to PQTest.exe>.\PQTest.exe credential-template -e <Path to Extension.exe> -q "<Replace with path to any parameter query file>" --prettyPrint --authenticationKind <Specify the authentication kind (Anonymous, UsernamePassword, Key, Windows, OAuth2)>
# Example:
C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\PQTest.exe credential-template -e "C:\dev\Contoso\Contoso.mez" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\ParameterQueries\Contoso\Contoso.parameterquery.pq" --prettyPrint --authenticationKind UsernamePassword
Pegue a saída do comando anterior e substitua os valores de espaço reservado por credenciais corretas e salve-a como um arquivo JSON (por exemplo, contoso_cred.json).
Em seguida, armazene as credenciais usando esse comando set-credential , que é usado pelo comando compare para executar os testes. Usando a janela existente do PowerShell, defina as credenciais para sua extensão usando o arquivo de credencial JSON gerado na etapa anterior. Consulte a seção set-credential sobre o uso para configurar as credenciais para o conector.
$PQTestExe = "C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe"
$Extension = "C:\dev\Contoso\Contoso.mez"
# Get-Content "<Replace with path to the json credential file>" | & $PQTestExe set-credential -e $Extension -q "<Replace with the path to any parameter query file>"
# Example:
Get-Content "C:\dev\Misc\contoso_cred.json" | & C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.126.3\tools\PQTest.exe set-credential -p -e "C:\dev\Contoso\Contoso.mez" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\ParameterQueries\Contoso.parameterquery.pq"
Valide se os dados de teste estão configurados corretamente executando os testes de sanidade
Para garantir que as alterações estejam funcionando e que a configuração de dados seja feita corretamente, execute os testes de sanidade usando o utilitário RunPQSDKTestSuites.ps1 presente no diretório \testframework\tests\TestSuites da seguinte maneira:
.\RunPQSDKTestSuites.ps1 -TestSettingsList SanitySettings.json
<#
Example:
PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -TestSettingsList SanitySettings.json
Output:
----------------------------------------------------------------------------------------------
PQ SDK Test Framework - Test Execution - Test Results Summary for Extension: Contoso.pqx
----------------------------------------------------------------------------------------------
TestFolder TestName OutputStatus TestStatus Duration
---------- -------- ------------ ---------- --------
Sanity\Taxi AllTypes.query.pq Passed Passed 00:00:00.0227976
Sanity\Taxi AllTypesRowCount.query.pq Passed Passed 00:00:00.0001734
Sanity\Taxi AllTypesSchema.query.pq Passed Passed 00:00:00.0001085
Sanity\Zone AllTypesZone.query.pq Passed Passed 00:00:00.0010058
Sanity\Zone AllTypesZoneRowCount.query.pq Passed Passed 00:00:00.0001786
Sanity\Zone AllTypesZoneSchema.query.pq Passed Passed 00:00:00.0000920
----------------------------------------------------------------------------------------------
Total Tests: 6 | Passed: 6 | Failed: 0 | Total Duration: 00d:00h:00m:01s
----------------------------------------------------------------------------------------------
#>
Executar a sanidade e os testes padrão
Executar usando o utilitário RunPQSDKTestSuites.ps1
Para executar o conjunto completo de testes padrão e sanidade ou um conjunto de testes definidos pelo arquivo de configurações, execute o seguinte comando para executar os testes:
# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1
Para saber mais sobre o utilitário RunPQSDKTestSuites.ps1, execute o comando Get-Help da seguinte maneira:
Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed
Executar usando PQTest.exe
Para executar testes específicos diretamente usando PQTest.exe, use o seguinte comando na mesma janela do PowerShell:
# <Path to PQTest.exe>PQTest.exe compare -p -e $Extension -pa <Replace with path to the parameter query> -q <Replace with the the path to test query>
# Example:
C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.114.4\tools\PQTest.exe compare -p -e "$Extension" -pa "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\ParameterQueries\Contoso.parameterquery.pq" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Standard\Datatypes\Cast.query.pq"
Examine a documentação em pqtest-overview para obter mais informações sobre como executar testes com PQTest.exe.
Executando testes de dobragem de consulta
Os testes em qualquer sanidade e testes padrão podem ser executados para validar a dobragem de consulta. Execute o teste pela primeira vez para gerar um arquivo de saída de diagnóstico na pasta \testframework\tests\<Extension Name>\Diagnostics\. As execuções subsequentes validam a saída gerada com o arquivo de saída de diagnóstico.
Executar testes de dobragem de consulta usando o utilitário RunPQSDKTestSuites.ps1
Valide a dobragem de consulta para os testes Sanity &Standard da seguinte maneira:
.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
Note
Como alternativa, especifique ValidateQueryFolding=True no \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.jsno arquivo.
Executar testes de dobragem de consulta usando PQTest.exe
# <Path to PQText.exe> compare -p -e $Extension -pa <Replace with path to the parameter query> -q <Replace with the the path to test query> -dfp <Replace with path to the diagnostic output file>
# Example:
C:\Users\ContosoUser\.vscode\extensions\powerquery.vscode-powerquery-sdk-0.2.3-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.2.114.4\tools\PQTest.exe compare -p -e "$Extension" -pa "C:\dev\DataConnectors\testframework\tests\TestSuites\ParameterQueries\Contoso\Contoso.parameterquery.pq" -q "C:\dev\DataConnectors\testframework\tests\TestSuites\Standard\Datatypes\Cast.query.pq" -dfp "C:\dev\DataConnectors\testframework\tests\TestSuites\Contoso\Diagnostics"
Conclusion
Esta seção abordou as etapas para configurar os arquivos de consultas e configurações de parâmetro, que são necessários para validar o conector de extensão executando a sanidade e o conjunto padronizado de testes.
Na próxima seção, você aprenderá a adicionar mais testes. Você também aprenderá sobre os vários comandos e opções disponíveis na estrutura de teste e várias configurações personalizáveis para suas necessidades de teste.
Próximas Etapas
Power Query estrutura de teste do SDK parte 6 – Adicionando seus testes e entendendo várias opções