matlab.unittest.plugins.LoggingPlugin.withVerbosity
クラス: matlab.unittest.plugins.LoggingPlugin
パッケージ: matlab.unittest.plugins
指定された詳細レベルのメッセージ用に LoggingPlugin
を生成する
構文
matlab.unittest.plugins.LoggingPlugin.withVerbosity(v)
matlab.unittest.plugins.LoggingPlugin.withVerbosity(v,stream)
matlab.unittest.plugins.LoggingPlugin.withVerbosity(v,Name,Value)
説明
matlab.unittest.plugins.LoggingPlugin.withVerbosity(
は、指定された詳細レベルのメッセージ用の v
)LoggingPlugin
を生成します。
matlab.unittest.plugins.LoggingPlugin.withVerbosity(
は、テキスト出力を出力ストリームにリダイレクトします。v
,stream
)
matlab.unittest.plugins.LoggingPlugin.withVerbosity(
には、1 つ以上の v
,Name,Value
)Name,Value
ペア引数によって指定された追加オプションが含まれます。
入力引数
v
— プラグイン インスタンスがサポートする詳細レベル
0
| 1
| 2
| 3
| 4
| matlab.automation.Verbosity
列挙 | string または文字ベクトルとしての列挙名
プラグイン インスタンスがサポートする詳細レベル。0 ~ 4 の整数値、matlab.automation.Verbosity
列挙オブジェクト、事前定義された列挙メンバー名のいずれかに対応する string スカラーまたは文字ベクトルとして指定します。プラグインは、このレベル以下でログに記録される診断情報に対して動作します。整数値は matlab.automation.Verbosity
列挙のメンバーに対応します。
数値表現 | 列挙型メンバー名 | 詳細レベルの説明 |
---|---|---|
0 | None | 情報なし |
1 | Terse | 最小限の情報 |
2 | Concise | 中程度の情報量 |
3 | Detailed | ある程度の補足的な情報 |
4 | Verbose | 多くの補足的な情報 |
stream
— プラグインがテキスト出力を送信する場所
ToStandardOutput
インスタンス (既定値) | OutputStream
インスタンス
プラグインがテキスト出力を送る場所。OutputStream
インスタンスとして指定します。既定では、プラグインは OutputStream
のサブクラス ToStandardOutput
をストリームとして使用します。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
Description
— ログに記録される診断メッセージの説明
'Diagnostic logged'
(既定値) | 文字ベクトル | string スカラー
ログに記録される診断メッセージの説明。文字ベクトルまたは string スカラーとして指定します。この値は、ログに記録されるそれぞれの診断メッセージと一緒に出力されます。値が空の場合、テスト フレームワークは説明を表示しません。
ExcludingLowerLevels
— 詳細レベルよりも低いレベルでログに記録されるメッセージを表示するかどうかを決めるインジケーター
false
(既定値) | true
詳細レベル v
よりも低いレベルでログに記録されるメッセージを表示するかどうかを決めるインジケーター。false
または true
(logical(0)
または logical(1)
) で指定します。既定では、この値は false
であり、レベル v
以下でログに記録されるすべてのメッセージに対してプラグインは動作します。値が true
の場合、レベル v
でログに記録されるメッセージに対してのみプラグインは動作します。
HideLevel
— 詳細レベル表示のインジケーター
false
(既定値) | true
ログに記録されるそれぞれの診断情報と一緒に詳細レベルを表示するかどうかを決めるインジケーター。false
または true
(logical(0)
または logical(1)
) で指定します。既定では、この値は false
であり、テスト フレームワークは詳細レベルを表示します。
HideTimestamp
— タイムスタンプ表示のインジケーター
false
(既定値) | true
ログに記録されるそれぞれの診断情報と一緒に、そのログ メッセージをテスト フレームワークが生成した時刻のタイムスタンプを表示するかどうかを決めるインジケーター。false
または true
(logical(0)
または logical(1)
) で指定します。既定では、この値は false
であり、テスト フレームワークはタイムスタンプを表示します。
NumStackFrames
— 表示するスタック フレームの数
0
(既定値) | 整数値 | Inf
ログに記録されるそれぞれの診断メッセージの後に表示するスタック フレームの数。整数値で指定します。既定では、この値は 0
であり、テスト フレームワークはスタック情報を表示しません。NumStackFrames
が Inf
の場合、テスト フレームワークは表示可能なすべてのスタック フレームを表示します。
例
ロギング プラグインの作成
作業フォルダーのファイル sampleLogTest.m
に、関数ベースのテストを作成します。
function tests = sampleLogTest tests = functiontests(localfunctions); function svdTest(testCase) import matlab.automation.Verbosity log(testCase,'Generating matrix.') m = rand(1000); log(testCase,1,'About to call SVD.') [U,S,V] = svd(m); log(testCase,Verbosity.Terse,'SVD finished.') verifyEqual(testCase,U*S*V',m,'AbsTol',1e-6)
コマンド プロンプトで、テストを実行します。
results = run(sampleLogTest);
Running sampleLogTest [Terse] Diagnostic logged (2022-10-15 18:35:02): About to call SVD. [Terse] Diagnostic logged (2022-10-15 18:35:20): SVD finished. . Done sampleLogTest __________
既定のランナーはレベル 1 (Terse
) の診断情報を報告します。
レベル 1 および 2 の診断情報を報告するテスト ランナーを作成し、テストを再度実行します。
import matlab.unittest.TestRunner import matlab.unittest.plugins.LoggingPlugin runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity(2); runner.addPlugin(p) results = runner.run(sampleLogTest);
[Concise] Diagnostic logged (2022-10-15T18:36:05): Generating matrix. [Terse] Diagnostic logged (2022-10-15T18:36:05): About to call SVD. [Terse] Diagnostic logged (2022-10-15T18:36:05): SVD finished.
ログ メッセージ出力の構成
現在の作業フォルダー内のファイル ExampleLogTest.m
で次のクラスを作成します。
classdef ExampleLogTest < matlab.unittest.TestCase methods(Test) function testOne(testCase) % Test fails log(testCase,3,'Starting Test') log(testCase,'Testing 5==4') testCase.verifyEqual(5,4) log(testCase,4,'Test Complete') end function testTwo(testCase) % Test passes log(testCase,'Detailed','Starting Test') log(testCase,'Testing 5==5') testCase.verifyEqual(5,5) log(testCase,'Verbose','Test Complete') end end end
コマンド プロンプトでテスト スイートと詳細レベル 4 のランナーを作成し、テストを実行します。
import matlab.unittest.TestSuite import matlab.unittest.TestRunner import matlab.unittest.plugins.LoggingPlugin suite = TestSuite.fromClass(?ExampleLogTest); runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity(4); runner.addPlugin(p) results = runner.run(suite);
[Detailed] Diagnostic logged (2022-10-15T18:45:43): Starting Test [Concise] Diagnostic logged (2022-10-15T18:45:43): Testing 5==4 [Verbose] Diagnostic logged (2022-10-15T18:45:44): Test Complete [Detailed] Diagnostic logged (2022-10-15T18:45:44): Starting Test [Concise] Diagnostic logged (2022-10-15T18:45:44): Testing 5==5 [Verbose] Diagnostic logged (2022-10-15T18:45:44): Test Complete
ファイル myOutput.log
に出力を行う新しいプラグインを作成し、テストを再度実行します。
import matlab.automation.streams.ToFile outFile = 'myOutput.log'; runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity(4,ToFile(outFile)); runner.addPlugin(p) results = runner.run(suite);
プラグインによって作成されたファイルの内容を表示します。
disp(fileread(outFile))
[Detailed] Diagnostic logged (2022-10-15T18:46:09): Starting Test [Concise] Diagnostic logged (2022-10-15T18:46:09): Testing 5==4 [Verbose] Diagnostic logged (2022-10-15T18:46:09): Test Complete [Detailed] Diagnostic logged (2022-10-15T18:46:09): Starting Test [Concise] Diagnostic logged (2022-10-15T18:46:09): Testing 5==5 [Verbose] Diagnostic logged (2022-10-15T18:46:09): Test Complete
レベル 4 のメッセージを表示しない新しいプラグインを作成します。詳細レベルやタイムスタンプは表示しません。テストを再実行します。
runner = TestRunner.withNoPlugins; p = LoggingPlugin.withVerbosity('Detailed', ... 'HideLevel',true,'HideTimestamp',true); runner.addPlugin(p) results = runner.run(suite);
Diagnostic logged: Starting Test Diagnostic logged: Testing 5==4 Diagnostic logged: Starting Test Diagnostic logged: Testing 5==5
バージョン履歴
R2014b で導入
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)