Платформа тестирования пакета SDK Power Query 4. Спецификация формата теста
Эта многокомпонентная ссылка охватывает настройку и выполнение стандартного набора тестов для разработчиков соединителей Power Query. Ссылка предназначена для последовательного выполнения, чтобы убедиться, что среда настроена для тестирования пользовательского соединителя.
Теперь, когда вы настроили среду, отправили тестовые данные и настроили набор тестов, вы можете начать проверку соединителя расширений с помощью набора тестов. Перед выполнением тестов необходимо понять различные типы файлов и форматов в тестовой платформе.
В этом разделе выполняются следующие действия:
- Узнайте о типах форматов файлов, используемых в тестовой платформе и их функциональных возможностях.
Спецификация тестов в формате PQ/PQOut
Тесты для проверки соединителей расширений с помощью платформы тестирования пакета SDK Power Query записываются в формате PQ/PQOut.
В следующем списке описаны типы файлов, которые необходимо учитывать при работе с тестовой платформой пакета SDK Power Query:
- Тестовый файл запроса, также известный как PQ-файл с расширением .query.pq.
- Выходной файл, также известный как PQOut-файл с расширением .query.pqout.
- Необязательный файл запроса параметров с расширением .parameterquery.pq.
- Необязательный файл параметров с расширением .settings.
- Необязательный диагностика-файл с расширением .диагностика.
Тестовый файл запроса, также известный как PQ-файл, с расширением .query.pq
Файл тестового запроса (.query.pq) содержит один языковой запрос формулы Power Query M. Запрос mashup состоит из переменных, выражений и значений, инкапсулированных let
выражением с именем пользовательской функции источника данных соединителя и необходимыми метаданными для выполнения.
let
Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
Database = Source{[Name="NYCTAXIDB”, Kind="Database"]}[Data],
Schema = Database{[Name="PUBLIC”, Kind="Schema"]}[Data],
Table = Schema{[Name="NYCTAXIDATA”, Kind="Table"]}[Data],
SelectColumns = Table.SelectColumns(Table, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
Выходной файл, также известный как PQOut-файл с расширением .query.pqout
Выходной файл (.query.pqout) содержит созданные выходные данные в результате выполнения команды сравнения для теста.
В следующем примере показан пример выходного файла (PQOut), например SnowflakeFirstNTests.query.pqout:
#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})
Необязательный файл запроса параметров с расширением .parameterquery.pq
Чтобы тестовые случаи запускались независимо от источника данных, поддержка PQ/test-файла запроса может быть разделена на две части: файл запроса параметров и файл тестового запроса.
Запрос параметров — это конкретный источник данных и извлекает тестовые данные из источника данных. Если вы хотите запустить тесты для другого соединителя, необходимо обновить этот файл, чтобы указать на этот конкретный источник данных.
В следующем примере показан пример файла запроса параметров, например Taxi.parameterquery.pq:
let
Source = Snowflake.Databases("POWERBI.snowflakecomputing.com", "DEMO_WH"),
Database = Source{[Name="NYCTAXIDB", Kind="Database"]}[Data],
Schema = Database{[Name="PUBLIC", Kind="Schema"]}[Data],
Table = Schema{[Name="NYCTAXIDATA", Kind="Table"]}[Data],
in
Table
Если предоставляется необязательный файл запроса параметров, тестовый запрос должен содержать только преобразования в тестовые данные. Эти преобразования являются выражениями M, необходимыми для тестов, и делают их независимыми от источника данных. Затем тестовый запрос также должен объявить лямбда-функцию M, которая принимает результаты из запроса параметра и запускает логику тестирования для входных результатов.
В следующем примере показан пример тестового запроса, например SnowflakeFirstNTest.query.pq:
(parameter) =>
let
SelectColumns = Table.SelectColumns(parameter, {"lpep_pickup_datetime"}),
FirstN = Table.FirstN(SelectColumns, 1)
in
FirstN
Необязательный файл параметров с расширением .settings
Необязательный файл параметров — это JSON-файл, содержащий параметры конфигурации в виде пар значений ключей.
В следующем примере показан пример файла параметров при указании необязательного файла запроса параметров:
{
'Extension': 'snowflake.mez',
'ParameterQueryFilePath': 'contoso.parameterquery.pq'
'QueryFilePath': 'contoso.query.pq',
'FailOnMissingOutputFile': true
}
Необязательный файл диагностика с расширением диагностика
Необязательный файл диагностика в настоящее время содержит список текста команды, который создается при сложении запроса M. Используйте его для регрессии тестирования свертывания запросов.
В следующем примере показан пример для файла диагностики, например SnowflakeFirstNTest Параметры.диагностика:
[
{
"Command": "select \"lpep_pickup_datetime\" from \"NYCTAXIDB\".\"PUBLIC\".\"NYCTAXIDATA\" LIMIT 1 OFFSET 0"
}
]
Заключение
В этом разделе описаны различные форматы файлов, которые необходимо ознакомиться при работе с платформой тестирования пакета SDK Power Query.
В следующем разделе вы создадите запросы и параметры для работы с источником данных для соединителя расширений.
Следующие шаги
Платформа тестирования пакета SDK Power Query 5. Тестирование соединителя расширения