在 MATLAB 路径中创建以下 anotherTempFolderFixtureTest 类定义。对于本示例,test1 函数包含了一个导致测试失败的断言。
classdef anotherTempFolderFixtureTest < matlab.unittest.TestCase
methods(Test)
function test1(testCase)
import matlab.unittest.fixtures.TemporaryFolderFixture
testCase.applyFixture(TemporaryFolderFixture( ...
'PreservingOnFailure',true,'WithSuffix','TestData'));
% Failed assertion, preserved temporary folder
testCase.assertEqual(1,2)
end
end
end
在命令提示符下运行测试。
run(anotherTempFolderFixtureTest);
Running anotherTempFolderFixtureTest
================================================================================
Assertion failed in anotherTempFolderFixtureTest/test1 and it did not run to completion.
---------------------
Framework Diagnostic:
---------------------
assertEqual failed.
--> The values are not equal using "isequaln".
--> Failure table:
Actual Expected Error RelativeError
______ ________ _____ _____________
1 2 -1 -0.5
Actual double:
1
Expected double:
2
------------------
Stack Information:
------------------
In C:\Documents\anotherTempFolderFixtureTest.m (anotherTempFolderFixtureTest.test1) at 10
================================================================================
[Terse] Diagnostic logged (2014-04-01T13:50:51):
Because of a failure in the test using the TemporaryFolderFixture, the following folder will not be deleted:
C:\Temp\tp9f5aa9f1_ead1_4462_91f2_08bbe7d0316cTestData
.
Done anotherTempFolderFixtureTest
__________
Failure Summary:
Name Failed Incomplete Reason(s)
==============================================================================
anotherTempFolderFixtureTest/test1 X X Failed by assertion.
测试已失败但保留临时文件夹。您可以打开临时文件夹(如此处所示 C:\Temp\tp9f5aa9f1_ead1_4462_91f2_08bbe7d0316cTestData),并检查其内容。