Поделиться через


Платформа тестирования пакета SDK Power Query 5. Тестирование соединителя расширения

Эта многокомпонентная ссылка охватывает настройку и выполнение стандартного набора тестов для разработчиков соединителей Power Query. Эта ссылка предназначена для последовательного выполнения, чтобы убедиться, что ваша среда настроена для тестирования пользовательского соединителя.

До сих пор вы выполнили следующие действия:

  • Настройка среды
  • Отправлены тестовые данные
  • Скачан набор тестов
  • Сведения о различных форматах файлов и их функциональных возможностях

Вы, наконец, готовы к проверке соединителя расширения с помощью набора тестов.

В этом разделе выполняются следующие действия:

  • Узнайте, как обновить запросы параметров и файлы параметров
  • Задайте путь к тестовой платформе, расширению соединителя и каталогу параметров тестирования
  • Настройка учетных данных для расширения
  • Проверка тестовых данных путем выполнения тестов работоспособности
  • Проверка соединителя путем выполнения стандартного набора тестов
  • Проверка свертывания запросов и создание текста команды в файлах диагностики

Задайте пути PQTest.exe и расширения в файле RunPQSDKTestSuites Параметры.json

Перейдите к папке \testframework\tests и откройте файл RunPQSDKTestSuites Параметры.json в клонированном репозитории. Затем задайте пути для PQTest.exe и расширения в файле конфигурации:

  • PQTestExePath: замените путь к PQTest.ext. Например, C:\Users\<UserName>\.vscode\extensions\powerquery.vscode-powerquery-sdk-x.x.x-win32-x64\.nuget\Microsoft.PowerQuery.SdkTools.x.xxx.x\tools\PQTest.exe, где <имя пользователя> — имя папки профиля пользователя, x.x.x.x — это текущая версия расширения пакета SDK Power Query, а x.xxx.x — текущая версия средств пакета SDK Power Query.
  • ExtensionPath: замените путь к mez-файлу расширения. Например, C:\dev\Подключение orName>\<<Подключение orName.mez, где< Подключение orName>> — имя соединителя.

Примечание.

Дополнительные сведения обо всех переменных, которые можно задать в файле RunPQSDKTestSuites Параметры.json в предоставленном шаблоне \testframework\tests\RunPQSDKTestSuites Параметры Template.json.

Обновление запросов параметров и файла параметров с подробными сведениями, характерными для соединителя расширения источника данных

Выполнение скрипта PowerShell .\RunPQSDKTestSuites.ps1 создает запросы параметров и тестовые параметры, создавая папку с <именем> расширения, а также папки Параметры и ParameterQueries в ней следующим образом:

  • testframework\test\Подключение orConfigs\<Extension Name>\ParameterQueries
  • testframework\test\Подключение orConfigs\<Extension Name>\Параметры

В следующих примерах показано, как выглядят пути для соединителя с именем Contoso:

  • testframework\test\TestSuites\Contoso\ParameterQueries
  • testframework\test\TestSuites\Contoso\Параметры

Примечание.

Обновите запрос M в созданных файлах запросов параметров, чтобы подключиться к источнику данных и получить ранее отправленные таблицы NycTaxiGreen и TaxiZoneLookup.

Кроме того, чтобы вручную создать файлы запросов параметров и файлы параметров для источника данных, выполните следующие действия.

  1. Перейдите в папку \testframework\tests\Подключение orConfigs в папке клонированного репозитория.
  2. Создайте копию папки \generic и переименуйте ее в имя расширения.
  3. Откройте каждый файл в папке \ParameterQueries и обновите запрос M в виде инструкций, приведенных в этих файлах.
  4. Откройте каждый файл в папке \Параметры и обновите эти файлы, чтобы указать правильный файл запроса параметров.

Настройка учетных данных для соединителя расширения

Убедитесь, что учетные данные настроены для соединителя, следуя инструкциям команды set-credential .

Кроме того, используйте команду credential-template для создания шаблона учетных данных в формате JSON для соединителя, который можно передать в команду set-credential . Ознакомьтесь с разделом "Учетные данные- шаблон " по использованию для создания шаблона учетных данных.

# <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

Выполните выходные данные предыдущей команды и замените значения заполнителей правильными учетными данными и сохраните его в виде JSON-файла (например, contoso_cred.json).

Затем используйте эту команду set-credential для хранения учетных данных, которые используются командой сравнения для выполнения тестов. Используя существующее окно PowerShell, задайте учетные данные для расширения с помощью файла учетных данных JSON, созданного на предыдущем шаге. Ознакомьтесь с разделом set-credential об использовании, чтобы настроить учетные данные для соединителя.

$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"

Проверка правильной настройки тестовых данных путем выполнения тестового тестирования

Чтобы убедиться, что изменения работают, и настройка данных выполняется правильно, выполните тесты сменяемости с помощью служебной программы RunPQSDKTestSuites.ps1, присутствующих в каталоге \testframework\tests\TestSuites следующим образом:

.\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
----------------------------------------------------------------------------------------------
#>

Запуск sanity и стандартных тестов

Запуск с помощью служебной программы RunPQSDKTestSuites.ps1

Чтобы выполнить все тесты и стандартные тесты или набор тестов, определенных файлом параметров, выполните следующую команду, чтобы выполнить тесты:

# Run all the Sanity & Standard Tests
.\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1

Чтобы узнать больше о служебной программе RunPQSDKTestSuites.ps1, выполните команду Get-Help следующим образом:

Get-Help .\RunPQSDKTestSuites.ps1
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> Get-Help .\RunPQSDKTestSuites.ps1 -Detailed

Запуск с помощью PQTest.exe

Используйте следующую команду в том же окне PowerShell, чтобы выполнять определенные тесты непосредственно с помощью PQTest.exe:

# <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"

Дополнительные сведения о выполнении тестов с помощью PQTest.exe см. в документации по pqtest-overview .

Выполнение тестов свертывания запросов

Тесты в соответствии с любым sanity и стандартными тестами можно запустить для проверки свертывания запросов. Запустите тест при первом создании выходного файла диагностика в папке \testframework\tests\<Extension Name>\Diagnostics\. Последующие запуски проверяют выходные данные, созданные с помощью выходного файла диагностика.

Выполнение тестов свертывания запросов с помощью служебной программы RunPQSDKTestSuites.ps1

Проверьте свертывание запросов для тестов sanity и стандартных тестов следующим образом:

.\RunPQSDKTestSuites.ps1 -ValidateQueryFolding
# Example:
# PS C:\dev\DataConnectors\testframework\tests\TestSuites> .\RunPQSDKTestSuites.ps1 -ValidateQueryFolding

Примечание.

Кроме того, укажите ValidateQueryFolding=True в файле \testframework\test\TestSuite\RunPQSDKTestSuites Параметры.json.

Выполнение тестов свертывания запросов с помощью 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"

Заключение

В этом разделе описаны шаги по настройке запросов параметров и файлов параметров, которые затем необходимы для проверки соединителя расширений путем выполнения стандартизированного набора тестов.

В следующем разделе описано, как добавить дополнительные тесты. Вы также узнаете о различных командах и параметрах, доступных в тестовой платформе, и различных настраиваемых параметров для ваших потребностей тестирования.

Следующие шаги

Платформа тестирования пакета SDK Для Power Query 6. Добавление тестов и понимание различных параметров