分析失败的测试结果
此示例显示如何识别和重新运行失败的测试。
创建错误的测试方法
使用SolverTest
测试用例,添加一个方法,testBadRealSolution
。这个测试,基于testRealSolution
,叫。quadraticSolver
带输入的函数1、3、2
但用不正确的溶液测试结果(2, 1)
。
函数testBadRealSolution(testCase) actSolution = quadraticSolver(1,3,2);expSolution = [2,1];testCase.verifyEqual (actSolution expSolution)结束
运行新的测试套件
保存更新后的文件SolverTest
类定义并重新运行测试。
quadTests = matlab.unittest.TestSuite.fromClass(?SolverTest);result1 = run(quadTests);
运行SolverTest ..================================================================================ 验证失败SolverTest / testBadRealSolution。--------------------- 框架的诊断 : --------------------- verifyEqual失败了。——>使用“isequaln”,值是不相等的。——>失败表:指数实际RelativeError预期错误 _____ ______ ________ _____ _____________ 1 1 2 3 -1.5 - 2 2 1 3 3实际价值:1 2期望值:2 1 ------------------ 堆栈信息 : ------------------ 在C: \ \ SolverTest工作。在19米(SolverTest.testBadRealSolution) ================================================================================ .完成SolverTest __________ 失败失败总结:名字不完整的原因(s ) ============================================================================= SolverTest / testBadRealSolution X验证失败。
分析结果
输出告诉你SolverTest / testBadRealSolution
失败了。从框架的诊断
您可以看到以下内容:
实际值:-1 -2期望值:2
此时,您必须确定错误是否存在quadraticSolver
或者你的价值expSolution
。
正确的错误
的值expSolution
在testBadRealSolution
:
expSolution = [-1 -2];
重新运行测试
保存SolverTest
并且只重新运行失败的测试。
failedTests = quadTests([result1.Failed]);result2 = run(failedTests)
运行SolverTest。完成SolverTest __________ result2 = TestResult with properties: Name: 'SolverTest/testBadRealSolution' Passed: 1 Failed: 0 Incomplete: 0 Duration: 0.0108 Details: [1x1 struct] Totals: 1 Passed, 0 Failed, 0 Incomplete. 0.010813秒测试时间。
方法重新运行失败的测试(重新运行)
链接测试结果。