파워 쿼리 SDK 테스트 프레임워크 4부 - 테스트 형식 사양
이 다중 파트 참조는 파워 쿼리 커넥터 개발자를 위한 표준 테스트 제품군의 설정 및 실행에 대해 설명합니다. 이 참조는 사용자 지정 커넥터를 테스트하기 위해 환경이 설정되었는지 확인하기 위해 순차적으로 수행되어야 합니다.
이제 환경을 설정하고, 테스트 데이터를 업로드하고, 테스트 제품군을 설정했으므로 테스트 제품군을 사용하여 확장 커넥터 확인을 시작할 준비가 되었습니다. 테스트를 실행하기 전에 테스트 프레임워크 내에서 다양한 형식의 파일 및 형식을 이해해야 합니다.
이 섹션에서는 다음을 수행합니다.
- 테스트 프레임워크 내에서 사용되는 파일 형식 및 해당 기능에 대해 알아봅니다.
PQ/PQOut 형식의 테스트 사양
파워 쿼리 SDK 테스트 프레임워크를 사용하여 확장 커넥터를 확인하는 테스트는 PQ/PQOut 형식으로 작성됩니다.
다음 목록에서는 파워 쿼리 SDK 테스트 프레임워크를 사용하는 동안 알아야 할 파일 형식에 대해 설명합니다.
- .query.pq 확장자를 사용하여 PQ 파일이라고도 하는 쿼리 파일을 테스트합니다.
- .query.pqout 확장자를 사용하는 PQOut 파일이라고도 하는 출력 파일입니다.
- .parameterquery.pq 확장자를 사용하는 선택적 매개 변수 쿼리 파일입니다.
- .settings 확장이 있는 선택적 설정 파일입니다.
- .진단 확장자를 사용하는 선택적 진단 파일입니다.
.query.pq 확장자를 사용하여 PQ 파일이라고도 하는 쿼리 파일 테스트
테스트 쿼리 파일(.query.pq)에는 단일 파워 쿼리 M 수식 언어 쿼리가 포함되어 있습니다. 매시업 쿼리는 사용자 지정 커넥터 데이터 원본 함수 이름과 실행해야 하는 메타데이터가 있는 식으로 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
.query.pqout 확장자를 사용하는 PQOut 파일이라고도 하는 출력 파일
출력 파일(.query.pqout)에는 테스트에 대한 비교 명령을 실행한 결과로 생성된 출력이 포함됩니다.
다음 샘플에서는 출력 파일(PQOut)의 예(예: SnowflakeFirstNTests.query.pqout)를 보여 줍니다.
#table(type table [TIMESTAMP = datetime], {{#datetime(2014, 1, 1, 16, 0, 0.12345)}})
.parameterquery.pq 확장자를 사용하는 선택적 매개 변수 쿼리 파일
테스트 사례를 데이터 원본과 독립적으로 실행하려면 PQ/테스트 쿼리 파일에 대한 지원을 매개 변수 쿼리 파일과 테스트 쿼리 파일의 두 부분으로 분할할 수 있습니다.
매개 변수 쿼리는 데이터 원본과 관련이 있으며 데이터 원본에서 테스트 데이터를 검색합니다. 다른 커넥터에 대한 테스트를 실행하려면 해당 특정 데이터 원본을 가리키도록 이 파일을 업데이트해야 합니다.
다음 샘플에서는 매개 변수 쿼리 파일의 예제(예: 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 테스트 프레임워크를 사용하는 동안 익숙해야 하는 다양한 파일 형식을 소개했습니다.
다음 섹션에서는 확장 커넥터에 대한 데이터 원본으로 작업할 쿼리 및 설정을 만듭니다.