• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

NewRelicでPHPUnitテストデータを分析する

PHPUnit を使用してユニット テストを管理および実行する場合、New Relic PHP エージェントはテストの概要結果を自動的にキャプチャし、New Relic イベント として に送信して、テスト データを一目でクエリおよび視覚化できるようにします。この機能はPHPエージェントのバージョン6.7.0でリリースされ、PHPUnitバージョン3.7から 8.x

PHPUnitテストイベントを有効にする

PHPUnitテストイベントを有効にするには:

  1. newrelic.iniファイルでnewrelic.phpunit_events.enabled設定を検索または追加し、{ true }に設定します。
  2. 設定の変更を有効にするには、Webサーバー(Apache、PHP-FPM、Nginxなど)を再起動します。

ヒント

例外メッセージが収集され、イベントとともに送信されます。また、出力を「危険」として出力するテストにフラグを立てるPHPUnitの--disallow-test-outputオプションを使用する場合、テストイベントには問題のある出力が含まれます。

利用可能な属性を表示する

有効にすると、PHPエージェントはPHPUnitコマンドを検出し、テストスイート( TestSuiteという名前)と個々のテスト( Testという名前)のデータを含む2つのイベントタイプをNewRelicに入力します。 NRQLクエリを使用してデータをクエリし、重要な情報 のダッシュボードを作成できます。

テストイベントをクエリするには、 SELECTステートメントを指定するときにFROM TestSuiteFROM Testを使用します。

SELECT uniqueCount(name) FROM TestSuite
Screenshot of a PHP unit test dashboard

TestSuiteおよびTestイベントをクエリして作成されたPHPUnitテストダッシュボードの例。

クエリの例

テストサマリーデータのダッシュボードを使用すると、テスト全体の成功のスナップショットをすばやく確認したり、失敗したスイートを掘り下げて原因を特定したりできます。これらの例は、 TestSuiteTestの両方のイベントタイプで作成できるウィジェットの種類を示しています。

リンクされたファセット

PHPUnitテストスイートは実行IDを介して個々のテストにリンクされているため、 FACETウィジェットを使用して特定のテスト実行の結果をフィルタリングできます

たとえば、失敗した最新のテストスイートを使用してウィジェットを作成し、それを現在のダッシュボードにリンクした場合、テストをクリックすると、周囲のウィジェットがそのテストスイートの実行のみの情報で更新されます。

Screenshot of dashboard showing linked facets

現在のダッシュボードにリンクされているFACETウィジェット(左上)を使用すると、失敗したテストスイートにドリルダウンできます。

上記の例では、実行5bb37ccee2a1dbc7をクリックすると、2つのテストの1つである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イベントには、クエリできる次の属性が含まれています。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.