本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

log

类: matlab.unittest.TestCase
包: matlab.unittest

记录诊断信息

语法

log(testCase,diagnostic)
log(testCase,v,diagnostic)

说明

log(testCase,diagnostic) 记录提供的诊断信息。日志方法提供一种测试手段,用于在测试执行期间记录信息。测试框架仅在经过适当配置(添加相应的插件,例如 matlab.unittest.plugins.LoggingPlugin)后,才会显示记录的消息。

log(testCase,v,diagnostic) 按指定的详细级别 v 记录诊断信息。

输入参数

全部展开

测试用例的实例,指定为 matlab.unittest.TestCase

失败时显示的诊断信息,指定为字符串数组、字符数组、函数句柄或 matlab.unittest.diagnostics.Diagnostic 实例。

详细级别,指定为介于 1 和 4 之间的整数值、matlab.unittest.Verbosity 枚举对象,或对应于预定义枚举成员名称之一的字符串标量或字符向量。诊断消息的默认详细级别是 Concise。整数值对应于 matlab.unittest.Verbosity 枚举的成员。

数值表示枚举成员名称详细程度说明
1Terse

最少的信息

2Concise

适中信息量

3Detailed

部分补充信息

4Verbose

大量补充信息

示例

全部展开

在工作文件夹下的文件 sampleLogTest.m 中,创建一个基于函数的测试。

function tests = sampleLogTest
tests = functiontests(localfunctions);

function svdTest(testCase)
import matlab.unittest.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 (2014-04-14T14:20:59): About to call SVD.
   [Terse] Diagnostic logged (2014-04-14T14:20:59): 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 (2014-04-14T14:28:14): Generating matrix.
   [Terse] Diagnostic logged (2014-04-14T14:28:14): About to call SVD.
   [Terse] Diagnostic logged (2014-04-14T14:28:15): SVD finished.

在 R2014b 中推出