错误堆栈跟踪与verifyError可见

4视图(30天)
你好所有的,
我如何让我的测试运行默默地当使用VerifyError检查错误发生?现在它显示整个异常跟踪。
我的testcase的定义是:
函数testcaseFHwrong (testCase)
cd (testCase.foldername);
试一试
testCase.verifyError (@ () LoadFaultTable (“Faulttablewrong.xls”,“SilentMode”1),“readfaulttable: NoFaultTable”);
disp(我);
testCase.verifyTrue(假);
结束
结束
运行时函数LoadFaultTable将发行一个错误,这个错误是正确验证的单元测试框架。
触发单元测试使用:
进口matlab.unittest.TestSuite;
进口matlab.unittest.TestRunner;
进口matlab.unittest.plugins.TAPPlugin;
进口matlab.unittest.plugins.ToFile;
套件= TestSuite.fromPackage (“test_LIB_SDS_LoadFaultTable”);
跑步者= TestRunner.withTextOutput;
tapFile =“FHtest.tap”;
插件= TAPPlugin.producingOriginalFormat(去整理(tapFile));
runner.addPlugin(插件);
删除(tapFile);
结果= runner.run(套);
命令行显示了该函数运行时错误堆栈跟踪。我没有想到这种行为
问候,汉族

接受的答案

安迪•坎贝尔
安迪•坎贝尔 2015年2月25日
你好汉斯,
我认为还有一些关键成分失踪。我写了下面的存根LoadFaultTable:
函数LoadFaultTable(变长度输入宗量)
错误(“readfaulttable: NoFaultTable”,“事情错了”);
周围用以下测试:
classdefErrorTest < matlab.unittest.TestCase
属性
foldername =“。”;
结束
方法(测试)
函数testcaseFHwrong (testCase)
cd (testCase.foldername);
试一试
testCase.verifyError (@ () LoadFaultTable (“Faulttablewrong.xls”,
“SilentMode”1),“readfaulttable: NoFaultTable”);
disp(我);
testCase.verifyTrue(假);
结束
结束
结束
结束
…和the output looks fine:
> > runtests
运行ErrorTest
完成ErrorTest
__________
ans =
TestResult属性:
名称:“ErrorTest / testcaseFHwrong”
通过:1
失败:0
不完整:0
持续时间:0.011415858
总数:
1通过,失败了,0不完整。
0.011416秒测试时间。
我认为还有其他东西在这里玩。源代码(LoadFaultTable)打印堆栈跟踪的事情吗?你能显示堆栈跟踪吗?也许叫CD删除源和/或测试的路径(这里的CD是一个空操作)?
还有,你把try - catch调试一步吗?通常你不需要使用try - catch当使用约束或verifyError。try - catch产生相同的预期,空运行测试时输出。
1评论
汉Geerligs
汉Geerligs 2015年2月26日
你好安迪,
谢谢你的及时响应。
我用一试抓建设。抓住我的下一个错误报告使用disp (getReport(我))。这是导致堆栈跟踪。你的回答让我有望确定这个问题。
问候,汉族

登录置评。

更多的答案(0)

类别

找到更多的在基于函数的单元测试帮助中心文件交换

标签

s manbetx 845

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!