Puedes activar una función en respuesta a la finalización de una matriz de pruebas en Firebase Test Lab. Por ejemplo, puedes notificar a un canal de Slack o enviar un correo electrónico si falla una prueba.
Activa una función cuando finalice una matriz de pruebas
Para activar una función de Firebase Test Lab, usa el
subpaquete firebase-functions/v2/testLab
. Puedes activar funciones cuando se complete
una matriz de pruebas con el controlador de eventos onTestMatrixCompleted()
.
En este ejemplo, la función recupera los datos de TestMatrix
del
objeto de CloudEvent y envía
los resultados de la prueba correspondientes a un canal de 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); });
Accede a los detalles del cliente
Las matrices de pruebas se pueden crear a partir de diferentes fuentes o flujos de trabajo. Por lo tanto,
a menudo se recomienda crear funciones que realicen acciones distintas
basadas en la fuente o en otro contexto importante de la prueba. Para ayudarte con esto,
cuando inicies una prueba, gcloud
te permitirá pasar información arbitraria a la que puedas
acceder más adelante en la función. Por ejemplo:
gcloud beta firebase test android run \
--app=path/to/app.apk \
--client-details testType=pr,link=<path/to/pull-request>