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

この機械翻訳は参考用に提供されます。

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

問題を作成する

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

PHPUnitを使用して単体テストを管理および実行する場合、New Relic PHPエージェントは、テストの概要結果を自動的にキャプチャし、テストデータを一目で照会および視覚化できるイベントとしてNewRelicに送信できます。この機能は、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

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

クエリの例

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

リンクされたファセット

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

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

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

上記の例では、実行5bb37ccee2a1dbc7をクリックすると、2つのテストの1つであるtestFooが失敗したことがわかります。この例を構成するNRQLクエリは次のとおりです。

最近失敗したスイート:

SELECT latest(timestamp), latest(name) FROM TestSuite WHERE successful IS false FACET runId

最後に失敗したスイート:

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

最後に失敗したテスト:

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.