diagnose
診断アクションを実行する
説明
diagnose(
は、ユニット テスト フレームワークなどの診断コンシューマーが診断を評価するメソッドを呼び出したときに、指定した診断のアクションを実行します。diagnostic
)
Diagnostic
クラスから派生したクラスは、diagnose
メソッドを実装しなければなりません。カスタム診断クラスのこのメソッドを実装する際に、このメソッド内の DiagnosticText
プロパティを設定して、診断のコンシューマーが情報を利用できるようにします。
入力引数
diagnostic
— 診断
matlab.automation.diagnostics.Diagnostic
オブジェクト
診断。matlab.automation.diagnostics.Diagnostic
オブジェクトとして指定します。
例
カスタム診断の作成
アクティブなプロセスのステータスを提供するカスタム診断を作成します。診断を定義するクラスは matlab.automation.diagnostics.Diagnostic
から派生させ、diagnose
メソッドを実装し、DiagnosticText
プロパティを設定しなければなりません。
現在のフォルダー内の ProcessStatusDiagnostic.m
という名前のファイルで、matlab.automation.diagnostics.Diagnostic
をサブクラス化して ProcessStatusDiagnostic
クラスを作成します。次の要素をクラスに追加します。
HeaderText
プロパティ — このプロパティを追加して、診断の作成時に診断テキストをカスタマイズします。ProcessStatusDiagnostic
メソッド — このコンストラクター メソッドを実装して、HeaderText
プロパティを設定します。diagnose
メソッド — このメソッドを実装して、診断アクションをエンコードします。プロセスのステータス情報にアクセスし、この情報を使用してDiagnosticText
プロパティを設定します。
classdef ProcessStatusDiagnostic < matlab.automation.diagnostics.Diagnostic properties (SetAccess=immutable) HeaderText end methods function diagnostic = ProcessStatusDiagnostic(header) arguments header (1,1) string = "Process Status Information" end diagnostic.HeaderText = header; end function diagnose(diagnostic) [~,processInfo] = system("ps"); diagnostic.DiagnosticText = diagnostic.HeaderText + ... newline + processInfo; end end end
対話型テスト用にテスト ケースを作成します。
testCase = matlab.unittest.TestCase.forInteractiveUse;
テストが失敗したときにカスタム診断情報を表示するには、ProcessStatusDiagnostic
オブジェクトを検定メソッドに渡します。
testCase.verifyFail(ProcessStatusDiagnostic)
Verification failed. ---------------- Test Diagnostic: ---------------- Process Status Information PID PPID PGID WINPID TTY UID STIME COMMAND 22488 1 22488 22488 ? 2964717 10:24:31 /usr/bin/ps
ProcessStatusDiagnostic
オブジェクトの作成時にオプションの入力を指定して、診断テキストをカスタマイズします。
testCase.verifyFail(ProcessStatusDiagnostic("Status of Active Processes"))
Verification failed. ---------------- Test Diagnostic: ---------------- Status of Active Processes PID PPID PGID WINPID TTY UID STIME COMMAND 22828 1 22828 22828 ? 2964717 10:24:53 /usr/bin/ps
バージョン履歴
R2013a で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)