Firebase Test Lab에서 테스트 매트릭스 완료에 대한 응답으로 함수를 트리거할 수 있습니다. 예를 들어 테스트에 실패하면 Slack 채널에 알리거나 이메일을 보낼 수 있습니다.
TestMatrix 완료 시 함수 트리거
Firebase Test Lab 함수를 트리거하려면 firebase-functions/v2/testLab
하위 패키지를 사용합니다. onTestMatrixCompleted()
이벤트 핸들러를 사용하여 TestMatrix가 완료되면 함수를 트리거할 수 있습니다.
이 예시에서 함수는 CloudEvent 객체에서 TestMatrix
데이터를 검색하여 해당하는 테스트 결과를 Slack 채널로 전송합니다.
exports.posttestresultstoslack = onTestMatrixCompleted( {secrets: ["SLACK_WEBHOOK_URL"]}, async (event) => { // Obtain Test Matrix properties from the CloudEvent const {testMatrixId, state, outcomeSummary} = event.data; // Create the title of the message const title = `${getSlackmoji(state)} ${getSlackmoji( outcomeSummary, )} ${testMatrixId}`; // Create the details of the message const details = `Status: *${state}* ${getSlackmoji( state, )}\nOutcome: *${outcomeSummary}* ${getSlackmoji(outcomeSummary)} `; // Post the message to slack const slackResponse = await postToSlack(title, details); // Log the response logger.log(slackResponse); });
클라이언트 세부정보에 액세스
테스트 매트릭스는 다양한 소스나 워크플로에서 생성될 수 있습니다. 따라서 대부분의 경우 테스트의 소스나 기타 중요 컨텍스트를 기반으로 다양한 작업을 수행하는 함수를 만드는 것이 좋습니다. 이를 위해 gcloud
를 사용하면 테스트를 시작할 때 임의의 정보를 전달할 수 있으며 이후에 함수에서 이 정보에 액세스할 수 있습니다. 예를 들면 다음과 같습니다.
gcloud beta firebase test android run \
--app=path/to/app.apk \
--client-details testType=pr,link=<path/to/pull-request>