Main Content

join

类: matlab.unittest.diagnostics.Diagnostic
包: matlab.unittest.diagnostics

将多个诊断联接为一个数组

语法

diagArray = join(diag1,...,diagN)

说明

diagArray = join(diag1,...,diagN) 将由 diag1 一直到 diagN 所指定的多个诊断连接为一个数组 diagArray

输入参数

diag

诊断内容,指定为 Diagnostic 对象的实例、字符串数组、字符数组、函数句柄或任意类型。

输出参数

diagArray

连接的诊断内容的数组。

  • 如果 diagN 是一个派生自 Diagnostic 的对象,它会未加修改地包括在数组中。

  • 如果 diagNcharstring,它会形成一个 StringDiagnostic 并包括在数组中。

  • 如果 diagNfunction_handle,它会形成一个 FunctionHandleDiagnostic 并包括在数组中。

  • 如果 diagN 是任何其他类型,它会形成一个 DisplayDiagnostic 并包括在数组中。

示例

全部展开

        % The following example creates a diagnostic array of length 4,
        % demonstrating standard Diagnostic conversions. Note:
        % MyCustomDiagnostic is for example purposes and is not executable
        % code.
 
        import matlab.unittest.diagnostics.Diagnostic
        import matlab.unittest.constraints.IsTrue
 
        arbitraryValue = 5;
        testCase.verifyThat(false, IsTrue, ...
            Diagnostic.join(...
                'should have been true', ...
                @() system('ps'), ...
                arbitraryValue, ...
                MyCustomDiagnostic))

备选方法

只要有一个值是诊断,您就可以使用数组串联将诊断连接成一个数组。join 方法避免了在数组中包含任何 Diagnostics。请考虑以下示例。

arbitraryValue = 5;
testCase.verifyThat(false, IsTrue, ...
    ['should have been true', ...
    @() system('ps'), ...
    arbitraryValue, ...
    MyCustomDiagnostic]);

由于 MyCustomDiagnostic 是一个 Diagnostic,因此其他值也会正确转换为诊断。