Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Note
En este artículo se tratan las pruebas mediante la utilidad de PowerShell. Para realizar pruebas con el Explorador de pruebas de Visual Studio Code, consulte Power Query marco de pruebas del SDK, parte 5a: Prueba del conector de extensión con Visual Studio Code.
Esta referencia de varias partes abarca la configuración y ejecución de un conjunto estándar de pruebas para desarrolladores de conectores de Power Query. Esta referencia está pensada para realizarse secuencialmente para asegurarse de que el entorno está configurado para probar el conector personalizado.
Hasta ahora ha completado los pasos siguientes:
- Configuración del entorno
- Carga de los datos de prueba
- Se descargó el conjunto de pruebas
- Ha aprendido varios formatos de archivo y su funcionalidad
Por último, está listo para empezar a comprobar el conector de extensión con el conjunto de pruebas.
En esta sección, usted:
- Obtenga información sobre cómo actualizar las consultas de parámetros y los archivos de configuración
- Establecer la ruta de acceso para el marco de pruebas, la extensión del conector y el directorio de configuración de pruebas
- Establecimiento de credenciales para la extensión
- Validar los datos de prueba mediante la ejecución de pruebas de integridad
- Validación del conector mediante la ejecución del conjunto estandarizado de pruebas
- Validación del plegado de consultas y generación de texto de comandos en archivos de diagnóstico
Establecer las rutas de acceso de PQTest.exe y extensión en el archivo RunPQSDKTestSuitesSettings.json
Vaya a \testframework\tests and open the RunPQSDKTestSuitesSettings.jsen el archivo de la carpeta del repositorio clonado. A continuación, establezca las rutas de acceso para PQTest.exe y la extensión en el archivo de configuración:
- PQTestExePath: Reemplace por la ruta de acceso a PQTest.ext. Por ejemplo, C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft. PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, donde <Username> es el nombre de la carpeta del perfil de usuario, x.x.x es la versión actual de la extensión Power Query SDK y x.xxx.x es la versión actual de las herramientas del SDK de Power Query.
- ExtensionPath: reemplace por la ruta de acceso al archivo mez de extensión. Por ejemplo, C:\dev\<ConnectorName>\<ConnectorName.mez>, donde <ConnectorName> es el nombre del conector.
Note
Puede encontrar más información sobre todas las variables que puede establecer en el archivo RunPQSDKTestSuitesSettings.json en el \testframework\tests\RunPQSDKTestSuitesSettingsTemplate.jsproporcionado en la plantilla.
Actualice las consultas de parámetros y el archivo de configuración con los detalles específicos del conector de la extensión del origen de datos.
Ejecución del script de PowerShell.\RunPQSDKTestSuites.ps1 crea las consultas de parámetros y la configuración de prueba mediante la creación de una carpeta con < el nombre >de la extensión y las carpetas Configuración y ParameterQueries de la siguiente manera:
- testframework\tests\ConnectorConfigs\<Extension Name>\ParameterQueries
- testframework\tests\ConnectorConfigs\<Extension Name>\Settings
En los ejemplos siguientes se muestra el aspecto de las rutas de acceso de un conector denominado Contoso:
- testframework\tests\TestSuites\Contoso\ParameterQueries
- testframework\tests\TestSuites\Contoso\Settings
Note
Actualice la consulta M en los archivos de consulta de parámetros generados para conectarse con el origen de datos y recuperar las tablas nycTaxiGreen y TaxiZoneLookup cargadas anteriormente.
Como alternativa, cree manualmente los archivos de consulta de parámetros y los archivos de configuración para el origen de datos mediante los pasos siguientes:
- Vaya a la carpeta \testframework\tests\ConnectorConfigs en la carpeta del repositorio clonado.
- Realice una copia de la carpeta \generic y cámbiela por el nombre de la extensión.
- Abra cada archivo en la carpeta \ParameterQueries y actualice la consulta M como las instrucciones proporcionadas en esos archivos.
- Abra cada archivo en la carpeta \Settings y actualice las rutas de acceso correctas del archivo de consulta de parámetros.
Establecimiento de las credenciales del conector de extensión
Asegúrese de que las credenciales están configuradas para el conector siguiendo las instrucciones del comando set-credential .
Como alternativa, genere una plantilla de credencial en formato JSON para el conector mediante el comando credential-template que se puede pasar al comando set-credential . Para obtener información sobre el uso para generar una plantilla de credenciales, consulte la sección 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
Tome la salida del comando anterior y reemplace los valores de marcador de posición por credenciales correctas y guárdelo como un archivo JSON (por ejemplo, contoso_cred.json).
A continuación, almacene las credenciales mediante este comando set-credential , que usa el comando compare para ejecutar las pruebas. Con la ventana de PowerShell existente, establezca las credenciales de la extensión mediante el archivo de credenciales JSON generado en el paso anterior. Consulte la sección set-credential sobre el uso para configurar las credenciales del 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"
Validar que los datos de prueba se configuran correctamente mediante la ejecución de las pruebas de integridad
Para asegurarse de que los cambios funcionan y la configuración de datos se realiza correctamente, ejecute las pruebas de integridad mediante la utilidad RunPQSDKTestSuites.ps1 presente en el directorio \testframework\tests\TestSuites de la siguiente manera:
.\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
----------------------------------------------------------------------------------------------
#>
Ejecución de las pruebas estándar y de integridad
Ejecutar con la utilidad RunPQSDKTestSuites.ps1
Para ejecutar el conjunto completo de las pruebas estándar y la integridad o un conjunto de pruebas definidas por el archivo de configuración, ejecute el siguiente comando para ejecutar las pruebas:
# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1
Para obtener más información sobre la utilidad RunPQSDKTestSuites.ps1, ejecute el comando Get-Help de la siguiente manera:
Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed
Ejecución mediante PQTest.exe
Para ejecutar pruebas concretas directamente mediante PQTest.exe, use el siguiente comando en la misma ventana de 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"
Revise la documentación de pqtest-overview para obtener más información sobre la ejecución de pruebas con PQTest.exe.
Ejecución de pruebas de plegado de consultas
Las pruebas bajo cualquier integridad y pruebas estándar se pueden ejecutar para validar el plegado de consultas. Ejecute la prueba la primera vez para generar un archivo de salida de diagnóstico en la carpeta \testframework\tests\<Extension Name>\Diagnostics\. Las ejecuciones posteriores validan la salida generada con el archivo de salida de diagnóstico.
Ejecución de pruebas de plegado de consultas mediante la utilidad RunPQSDKTestSuites.ps1
Valide el plegado de consultas para las pruebas de integridad y estándar de la siguiente manera:
.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
Note
Como alternativa, especifique ValidateQueryFolding=True en el \testframework\tests\TestSuite\RunPQSDKTestSuitesSettings.jsen el archivo .
Ejecución de pruebas de plegado de consultas mediante 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"
Conclusión
En esta sección se describen los pasos para configurar las consultas de parámetros y los archivos de configuración, que después son necesarios para validar el conector de extensión mediante la ejecución de la integridad y el conjunto estandarizado de pruebas.
En la sección siguiente, aprenderá a agregar más pruebas. También obtendrá información sobre los distintos comandos y opciones disponibles en el marco de pruebas y varias opciones personalizables para sus necesidades de pruebas.
Pasos siguientes
Power Query marco de pruebas del SDK, parte 6: adición de pruebas y comprensión de varias opciones