웹훅을 개발하는 동안 실제 Business 메시지 페이로드. 테스트를 수동으로 만드는 대신, 다양한 JSON 페이로드 유형으로 웹훅을 테스트하는 메시지 테스트 프레임워크 프로덕션 단계에서 수신할 수 있습니다.
시작하려면 웹훅을 만들 수도 있습니다 테스트 프레임워크는 설치가 용이하고 단일 명령어로 웹훅을 테스트할 수 있습니다
시작하기
프레임워크 설치
프레임워크를 설치하는 가장 쉬운 방법은 NPM 패키지 관리자를 사용하는 것입니다.
프레임워크는 NPM 패키지 레지스트리에 게시되므로 설치할 수 있습니다.
npm
로 다음 명령어를 실행합니다.
npm install -g bm-test-framework
테스트 실행
패키지가 설치되면 웹훅 URL을 환경으로 제공할 수 있습니다. 변수를 만들고 다음 명령어로 모든 테스트를 실행합니다.
BMTF_ENDPOINT_URL=<Your webhook URL> bm-test-framework
테스트 프레임워크의 결과는 다음과 같습니다.
Sending payloads to <Your webhook URL>
✔ authentication-request.json should return 200
✔ event-receive.json should return 200
✔ image-message.json should return 200 (862ms)
✔ read-receipt.json should return 200
✔ suggestion-message.json should return 200
✔ text-message.json should return 200 (134ms)
✔ text-with-dialogflow-response.json should return 200 (128ms)
✔ user-receipt.json should return 200
이 테스트 실행 예에서는 모든 테스트 사례를 통과했습니다.
테스트 사례 중 하나에서 웹훅이 실패하는 경우 웹훅은
테스트 사례의 JSON 페이로드에 200 OK
로 응답합니다. 이 경우 테스트는
프레임워크는 디버그에 도움이 되는 오류 정보를 출력합니다. 자세한 내용은
테스트 프레임워크 리드미
를 참조하세요.
NodeJS 프로젝트에서 프레임워크 사용
NodeJS 프로젝트의 자체 코드 내에서 또는 먼저 Mocha 테스트 모음 내에서 패키지를 개발 테스트 모음으로 설치합니다. 종속됩니다.
npm install --save-dev bm-test-framework
설치가 완료되면 BmTestFramework
객체를 만들어 테스트를 관리할 수 있습니다.
const BmTestFramework = require('bm-test-framework');
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>});
payloads
멤버 배열에는 모든 테스트 사례가 포함되어 있습니다. 이
sendPayload
메서드를 사용하여 특정 테스트를 실행합니다. 예를 들어 다음 코드는
프레임워크에서 첫 번째 테스트를 실행합니다.
bmTestFramework.sendPayload(bmTestFramework.payloads[0])
테스트 구성
필수 BMTF_ENDPOINT_URL
환경 변수 외에 다음 작업을 할 수 있습니다.
선택적 환경 변수를 설정하여 테스트 동작을 맞춤설정합니다.
환경 변수 | 구성 필드 이름 | 유형 | 설명 |
---|---|---|---|
BMTF_RANDOM_UUID | randomUuid | 부울 | true인 경우 대화 ID를 유효한 형식의 임의의 UUID로 설정합니다. false인 경우 모든 대화 ID를 'CONVERSATION-ID'로 설정합니다. |
BMTF_TIMEOUT | 제한 시간 | 숫자 또는 형식이 지정된 시간 문자열 | 각 테스트 사례의 제한 시간을 밀리초 단위로 설정합니다. 각 테스트 사례의 기본 제한 시간은 2,000밀리초입니다. 자세한 유형 및 형식 사양은 Mocha API 참조를 확인하세요. |
예를 들어 다음 코드는 명령줄에서 테스트 프레임워크를 실행합니다. 임의의 UUID 옵션이 사용 설정되고 제한 시간이 1000ms인 경우:
BMTF_ENDPOINT_URL=<Your webhook URL> BMTF_TIMEOUT=1000 BMTF_RANDOM_UUID=true bm-test-framework
NodeJS 프로젝트에서 테스트 동작을 맞춤설정하려면
동일한 변수를 BmTestFramework
를 만들 때 config
객체에 추가합니다.
const bmTestFramework = new BmTestFramework({endpointURL: <Your webhook URL>, randomUuid: true, timeout: 1000});