Si usa PHPUnit para administrar y ejecutar sus pruebas unitarias, el agente PHP de New Relic puede capturar automáticamente los resultados del resumen de la prueba y enviarlos a New Relic como un evento donde puede consultar y visualizar los datos de la prueba de un vistazo. Esta característica fue lanzada en la versión 6.7.0 del agente PHP y soporta versiones de PHPUnit 3.7 para 8.x
Habilitar evento de prueba PHPUnit
Para habilitar el evento de prueba PHPUnit:
- Busque o agregue la configuración
newrelic.phpunit_events.enabled
en su archivonewrelic.ini
y configúrela entrue
. - Reinicie su servidor web (Apache, PHP-FPM, Nginx, etc.) para que el cambio de configuración surta efecto.
Sugerencia
Los mensajes de excepción se recopilan y envían con evento. Además, si utiliza la opción --disallow-test-output
de PHPUnit, que marca las pruebas que imprimen resultados como "arriesgados", el evento de prueba incluirá el resultado infractor.
Ver atributo disponible
Cuando está habilitado, el agente PHP detecta los comandos PHPUnit y completa New Relic con dos tipos de eventos que contienen datos para el conjunto de pruebas (llamado TestSuite
) y pruebas individuales (llamadas Test
). Puede consultar los datos con NRQL consulta y crear un dashboard de información importante para usted.
Para consultar su evento de prueba, utilice FROM TestSuite
y FROM Test
al especificar sus declaraciones SELECT
:
SELECT uniqueCount(name) FROM TestSuite
Ejemplo de un dashboard de prueba de PHPUnit creado consultando TestSuite
y Test
evento.
Ejemplo de consulta
Un dashboard de datos de resumen de pruebas le permite ver rápidamente una instantánea del éxito general de las pruebas, así como profundizar en los conjuntos fallidos para determinar su causa. Estos ejemplos ilustran los tipos de widgets que puede crear con los tipos de evento TestSuite
y Test
.
Facetas vinculadas
Debido a que un conjunto de pruebas PHPUnit está vinculado a pruebas individuales a través de su ID de ejecución, puede usar el widgetFACET
para filtrar los resultados de una ejecución de prueba específica.
Por ejemplo, si creó un widget con los conjuntos de pruebas fallidos más recientes y lo vinculó al dashboard actual, podría hacer clic en una prueba y los widgets circundantes se actualizarían con información solo para la ejecución de ese conjunto de pruebas.
El widget FACET (arriba a la izquierda) vinculado al dashboard actual le permite profundizar en los conjuntos de pruebas fallidos.
En el ejemplo anterior, puede ver que al hacer clic en ejecutar 5bb37ccee2a1dbc7
, aprendemos que una de las dos pruebas, testFoo
, falló. Aquí está la consulta NRQL que compuso este ejemplo:
Recent unsuccessful suites:
SELECT latest(timestamp), latest(name) FROM TestSuite WHERE successful IS false FACET runId
Last unsuccessful suite:
SELECT host, name, duration * 1000 AS 'duration (ms)', assertionCount, testCount, passedCount, failedCount, incompleteCount, skippedCount, errorCount, riskyCount, warningCount FROM TestSuite WHERE successful IS false LIMIT 1
Last unsuccessful test:
SELECT host, name, testSuiteName, duration * 1000 AS 'duration (ms)', outcome, assertionCount, message FROM Test WHERE outcome != 'passed' LIMIT 1
Atributo de evento PHPUnit
TestSuite
y Test
evento contienen el siguiente atributo contra el que puedes consultar: