ThingWorx Flow > ThingWorx Flow SDK > 커넥터 테스트
커넥터 테스트
test 명령
test 명령은 커넥터 아티팩트를 테스트하는 데 사용됩니다. 아티팩트에는 몇 가지 공통 옵션과 몇 가지 특정 옵션이 포함됩니다. test 명령은 아티팩트의 유형을 하위 명령으로 사용합니다. test 명령에는 다음 명령이 포함됩니다.
명령
설명
flow test action <name>
이름이 <name>인 작업을 테스트합니다.
flow test connection <name>
이름이 <name>인 연결을 테스트합니다.
flow test lookup <name> <method>
조회 <name>에서 이름이 <method>인 조회 함수를 테스트합니다.
flow test oauth <name>
이름이 <name>인 OAuth를 테스트합니다.
flow test trigger <name> <method>
이름이 <name>인 트리거를 테스트합니다.
test 명령에는 다음 옵션이 포함됩니다.
옵션
설명
데이터 유형
--version
버전 번호를 표시합니다.
[부울]
--help
도움말을 표시합니다.
[부울]
--timeout
작업에 대한 제한 시간입니다. --timeout 옵션은 제한 시간(밀리초)을 지정합니다(기본값: 30000밀리초). 이 옵션을 사용하면 코드가 지정된 시간 내에 완료되고 콜백 호출 누락과 같은 오류를 캡처합니다.
[기본값: 30000]
--logLevel,-1
로그 수준을 설정합니다.
[기본값: "info"]
ThingWorx Flow CLI를 통해 서버에서 커넥터를 배포하기 전에 개별 아티팩트를 테스트할 수 있습니다. 이렇게 하면 아티팩트가 제대로 인지 확인할 수 있습니다.
테스트 사례는 mocha-cha 프레임워크를 사용하여 작성됩니다. Mocha는 테스트 세트를 정의하는 데 사용되고, chai는 어설션 라이브러리로 사용됩니다. 모든 테스트 사례는 특정 아티팩트 테스트 폴더 아래의 testData 폴더 아래에 정의됩니다.
test 명령을 사용하면 ThingWorx Flow CLI에서 아티팩트를 테스트할 수 있습니다.
아티팩트를 테스트하려면 명령 프롬프트에서 다음 명령을 실행합니다.
1. cd <user project root directory>
2. flow test <artifactType> <name>
OAuth 구성 테스트
각 OAuth 공급자마다 사용자 자격 증명을 수락하는 형식이 다르므로 브라우저를 통해 OAuth 구성 테스트가 수행됩니다. CLI는 내부적으로 Express 웹 서버를 실행하여 성공한 인증 또는 실패한 인증에 대해 IdP가 보낸 응답을 처리합니다.
oauth 구성을 테스트하려면 다음 작업을 수행합니다.
1. 프로젝트 디렉터리에서 다음 명령을 실행합니다.
flow test oauth <oauth name>
로그인에 성공하면 OAuth 유효성 검사기 브라우저 창이 열립니다. 자세한 내용은 자습서의 예를 참조하십시오.
2. 테스트할 구성을 선택한 다음 OAuth 구성 유효성 검사를 클릭하거나 종료를 클릭합니다.
연결 테스트
연결을 테스트하려면 다음을 수행합니다.
1. 프로젝트 디렉터리에서 다음 명령을 실행합니다.
npm install
2. 패키지에서 테스트 데이터 파일을 만들고 해당 데이터를 서비스 공급자 정보로 채웁니다.
파일은 다음 코드와 같이 <projectDir>\test\testData의 테스트 connectionTestData에 대한 샘플 데이터를 포함합니다.
module.exports = {
sampleInput : {
email : 'your-email-id-here',
subscription_id:'your-subscription-id',
account_url: 'your-account-url',
token: 'your-token'
},
sampleOutput : {
handle: {
email : 'your-email-id-here',
subscription_id:'your-subscription-id',
account_url: 'your-account-url',
token: 'your-token'
} }
}
3. 다음 옵션을 사용하여 test 명령을 실행합니다.
옵션
설명
데이터 유형
--version
버전 번호를 표시합니다.
[부울]
--help
도움말을 표시합니다.
[부울]
--timeout
작업에 대한 제한 시간입니다. --timeout 옵션은 제한 시간(밀리초)을 지정합니다(기본값: 30000밀리초). 이 옵션을 사용하면 코드가 지정된 시간 내에 완료되고 콜백 호출 누락과 같은 오류를 캡처합니다.
[기본값: 30000]
--logLevel,-1
로그 수준을 설정합니다.
[기본값: "info"]
--artifactVersion,-v
테스트할 아티팩트의 버전입니다.
해당 없음
--projectDir,-d
프로젝트의 상위 디렉터리입니다.
해당 없음
--input,-i
입력 변수의 이름입니다.
해당 없음
--output,-o
예상 출력 변수의 이름입니다.
해당 없음
--testDataFile,-f
testData 파일의 경로입니다.
해당 없음
--save,-s
사용자에 대한 자격 증명 저장소에 저장합니다.
해당 없음
--noSchemaValidation,-n
스키마 유효성 검사를 비활성화합니다.
[기본값: false]
test를 실행하면 connect 메소드와 validate 메소드가 모두 성공해야 출력을 생성합니다. 이 명령은 입력이 입력 스키마와 일치하고 출력이 예상 출력과 일치하는지도 확인합니다.
조회 테스트
조회의 구조는 다른 아티팩트의 구조와 다르고, 조회는 다른 아티팩트와 동일한 방식으로 버전 지정되지 않습니다. 이름 자체가 버전으로 사용됩니다. 새로운 기능이 필요한 경우 새 이름의 새 조회가 조회 JavasSript 파일에서 작성됩니다.
flow test lookup <name> <method>
사용 가능한 옵션은 다음과 같습니다.
옵션
설명
데이터 유형
--version
버전 번호를 표시합니다.
[부울]
--help
도움말을 표시합니다.
[부울]
--timeout
작업에 대한 제한 시간입니다. --timeout 옵션은 제한 시간(밀리초)을 지정합니다(기본값: 30000밀리초). 이 옵션을 사용하면 코드가 지정된 시간 내에 완료되고 콜백 호출 누락과 같은 오류를 캡처합니다.
[기본값: 30000]
--logLevel,-1
로그 수준을 설정합니다.
[기본값: "info"]
--projectDir,-d
프로젝트의 상위 디렉터리입니다.
해당 없음
--connection,-c
삽입할 연결의 UID입니다.
해당 없음
--access_token,-a
예상 출력 변수의 이름입니다.
해당 없음
--input,-i
testData 파일의 경로입니다.
해당 없음
--output,-o
예상 출력 변수의 이름입니다.
해당 없음
--testDataFile,-f
testData 파일의 경로입니다.
해당 없음
--searchById
검색에 사용할 ID입니다.
해당 없음
--searchByValue
검색에 사용할 값입니다.
해당 없음
--filter
항목을 검색하는 데 사용할 필터입니다.
해당 없음
조회에는 두 가지 검색 옵션인 searchByIdsearchByValue가 있으며, 쪽매김과 관련된 다음 세 가지 옵션이 있습니다.
조회 시 한 번에 모든 데이터 반환 이 옵션에 필요한 작업은 없습니다.
응용 프로그램에서 지원하는 쪽매김 API조회 코드에서 getNextPage api를 호출하고 서비스가 다음 페이지에서 데이터를 반환할 수 있도록 하는 인수를 전달합니다. 이 정보는 사용자가 조회 필드 값에 대한 목록에서 추가 항목 로드를 클릭할 때 조회에 전달됩니다.
지원되지 않는 쪽매김응용 프로그램에서 데이터를 질의하고 조회 서비스에서 현재 페이지 및 이전 모든 페이지에 대한 기록만 표시하도록 데이터를 자릅니다.
작업 테스트
작업 테스트는 조회 테스트와 유사합니다.
작업을 테스트하려면 다음 작업을 수행합니다.
1. 샘플 입력 및 샘플 출력 JSON을 테스트 데이터 파일에 씁니다. 입력 및 출력 샘플의 경우 부록 B를 참조하십시오.
2. 프로젝트 디렉터리에서 다음 옵션을 사용하여 test 명령을 실행합니다.
옵션
설명
데이터 유형
--version
버전 번호를 표시합니다.
[부울]
--help
도움말을 표시합니다.
[부울]
--timeout
작업에 대한 제한 시간입니다. --timeout 옵션은 제한 시간(밀리초)을 지정합니다(기본값: 30000밀리초). 이 옵션을 사용하면 코드가 지정된 시간 내에 완료되고 콜백 호출 누락과 같은 오류를 캡처합니다.
[기본값: 30000]
--logLevel,-1
로그 수준을 설정합니다.
[기본값: "info"]
--artifactVersion,-v
테스트할 아티팩트의 버전입니다.
[기본값: "v1"]
--connection,-c
삽입할 연결의 UID입니다.
해당 없음
--access_token,-a
예상 출력 변수의 이름입니다.
해당 없음
--projectDir,-d
프로젝트의 상위 디렉터리입니다.
[기본값: "."]
--input,-i
testData 파일의 경로입니다.
해당 없음
--output,-o
예상 출력 변수의 이름입니다.
해당 없음
--testDataFile,-f
testData 파일의 경로입니다.
해당 없음
--noSchemaValidation,-n
스키마 유효성 검사를 비활성화합니다.
[기본값: false]
트리거 테스트
트리거 테스트는 작업, 연결 및 조회와 약간 다릅니다. 다음 옵션을 사용하여 test 명령을 실행할 수 있습니다.
다음 표에서는 트리거를 테스트하는 데 사용할 수 있는 여러 옵션에 대해 설명합니다.
옵션
설명
데이터 유형
--version
버전 번호를 표시합니다.
[부울]
--help
도움말을 표시합니다.
[부울]
--timeout
작업에 대한 제한 시간입니다. --timeout 옵션은 제한 시간(밀리초)을 지정합니다(기본값: 30000밀리초). 이 옵션을 사용하면 코드가 지정된 시간 내에 완료되고 콜백 호출 누락과 같은 오류를 캡처합니다.
[기본값: 30000]
--logLevel,-1
로그 수준을 설정합니다.
[기본값: "info"]
--artifactVersion,-v
테스트할 아티팩트의 버전입니다.
[기본값: "v1"]
--connection,-c
삽입할 연결의 UID입니다.
해당 없음
--access_token,-a
예상 출력 변수의 이름입니다.
해당 없음
--projectDir,-d
프로젝트의 상위 디렉터리입니다.
[기본값: "."]
--input,-i
입력 변수의 이름입니다.
해당 없음
--output,-o
예상 출력 변수의 이름입니다.
해당 없음
--testDataFile,-f
testData 파일의 경로입니다.
해당 없음
--noSchemaValidation,-n
스키마 유효성 검사를 비활성화합니다.
[기본값: false]
--polling,-p
트리거가 폴링 트리거임을 나타냅니다.
해당 없음
--event,-e
테스트할 이벤트입니다.
해당 없음
--mockData,-m
이벤트에 대한 mockdata가 있는 변수의 이름입니다.
해당 없음
--interval,-t
트리거할 간격(초)입니다.
[기본값: 15]
--stopAfter,-s
트리거에 대한 최대 호출 수입니다.
[기본값: 1]
설정할 메소드를 지정해야 합니다. 폴링 트리거의 경우 메소드는 executeactivate입니다.
다양한 아티팩트 테스트의 예는 를 참조하십시오.