단위 테스트를 관리하고 실행하기 위해 PHPUnit을 사용하는 경우, 뉴렐릭 PHP 에이전트는 자동으로 테스트 요약 결과를 캡처하고 이를 뉴렐릭 에 이벤트 로 보내 테스트 데이터를 한눈에 쿼리하고 시각화할 수 있습니다. 이 기능은 PHP 에이전트 버전 6.7.0 에서 출시되었으며 PHPUnit 버전 3.7 을(를) 지원합니다. 8.x
PHPUnit 테스트 이벤트 활성화
PHPUnit 테스트 이벤트를 활성화하려면:
newrelic.ini
파일에서newrelic.phpunit_events.enabled
설정을 찾거나 추가하고true
로 설정합니다.- 설정 변경 사항을 적용하려면 웹 서버(apache, PHP-FPM, Nginx 등)를 다시 시작하세요.
팁
예외 메시지가 수집되어 이벤트와 함께 전송됩니다. 또한 출력을 "위험"으로 인쇄하는 테스트에 플래그를 지정하는 PHPUnit의 --disallow-test-output
옵션을 사용하는 경우 테스트 이벤트에 문제가 되는 출력이 포함됩니다.
사용 가능한 속성 보기
활성화 되면 PHP 에이전트는 PHPUnit 명령을 감지하고 테스트 모음(이름: TestSuite
) 및 개별 테스트(이름: Test
)에 대한 데이터가 포함된 두 가지 이벤트 유형으로 New Relic을 채웁니다. NRQL 쿼리 로 데이터를 쿼리하고 중요한 정보 대시보드를 구축할 수 있습니다.
테스트 이벤트를 쿼리하려면 SELECT
문을 지정할 때 FROM TestSuite
및 FROM Test
를 사용합니다.
SELECT uniqueCount(name) FROM TestSuite
TestSuite
및 Test
이벤트를 쿼리하여 생성된 PHPUnit 테스트 대시보드의 예.
쿼리 예시
테스트 요약 데이터 대시보드를 사용하면 전체 테스트 성공의 스냅샷을 빠르게 볼 수 있을 뿐만 아니라 실패한 제품군을 파고들어 원인을 파악할 수 있습니다. 이 예는 TestSuite
및 Test
이벤트 유형으로 만들 수 있는 위젯의 종류를 보여줍니다.
연결된 패싯
PHPUnit 테스트 제품군은 실행 ID를 통해 개별 테스트에 연결되어 있으므로 FACET
위젯을 사용하여 특정 테스트 실행에 대한 결과를 필터링 할 수 있습니다.
예를 들어, 가장 최근에 실패한 테스트 모음으로 위젯을 생성하고 현재 대시보드에 연결한 경우 테스트를 클릭하면 주변 위젯이 해당 테스트 모음 실행에 대한 정보로 업데이트됩니다.
현재 대시보드에 연결된 FACET 위젯(왼쪽 상단)을 사용하면 실패한 테스트 모음을 드릴할 수 있습니다.
위의 예에서 5bb37ccee2a1dbc7
실행을 클릭하면 두 테스트 중 하나인 testFoo
이 실패했음을 알 수 있습니다. 다음은 이 예를 구성한 NRQL 쿼리입니다.
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
PHPUnit 이벤트 속성
TestSuite
및 Test
이벤트에는 쿼리할 수 있는 다음 속성이 포함되어 있습니다.