Anda dapat memicu fungsi sebagai respons terhadap penyelesaian matriks uji di Firebase Test Lab. Misalnya, Anda dapat memberi tahu saluran Slack atau mengirim email jika pengujian gagal.
Memicu fungsi pada penyelesaian TestMatrix
Untuk memicu fungsi Firebase Test Lab, gunakan subpaket firebase-functions/v2/testLab
. Anda dapat memicu fungsi saat TestMatrix selesai dengan pengendali peristiwa onTestMatrixCompleted()
.
Dalam contoh ini, fungsi tersebut mengambil data TestMatrix
dari objek CloudEvent dan mengirim hasil pengujian yang terkait ke saluran 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); });
Mengakses detail klien
Matriks uji dapat dibuat dari berbagai sumber atau alur kerja. Oleh sebab itu, sebaiknya Anda membuat fungsi yang dapat melakukan berbagai tindakan berdasarkan sumber atau konteks penting pengujian. Untuk membantu melakukan tugas ini, gcloud
memungkinkan Anda menyampaikan informasi arbitrer saat memulai pengujian yang dapat diakses nanti di fungsi Anda. Contoh:
gcloud beta firebase test android run \
--app=path/to/app.apk \
--client-details testType=pr,link=<path/to/pull-request>