前言
本文接着介绍Simulink Test自动生成TestReport和CoverageReport的脚本。
自动运行测试file
在之前创建好TestFile后,可以利用API函数自动运行测试文件
%run test manager
ResultsObj = run(tf);
% Open the Test Manager so you can view the simulation
% output and comparison data
sltest.testmanager.view;
利用sltest.testmanager.view查看运行结果
创建测试报告路径
TestReort_path = 'TestReport';
%% Generate a report from the results data
res = exist(TestReort_path,'dir');
if res == 0
mkdir(TestReort_path)
end
addpath(genpath(TestReort_path));
TestReortFile = strcat(TestReort_path,'\',now_time)
mkdir(TestReortFile)
创建TestReport文件夹,然后按生成报告的时间创建文件夹
生成mldatx格式的results
sltest.testmanager.exportResults(ResultsObj,filePath_mldatx);
该文件可以在Test manager中打开查看之前的测试结果数据。
生成测试报告及覆盖度报告
sltest.testmanager.report(ResultsObj,filePath_pdf,...
'Author','Test Engineer',...
'Title',test_model,...%标题
'IncludeSimulationSignalPlots',true,...%包含仿真数据
'IncludeComparisonSignalPlots',true,...%包含验证结果
'NumPlotRowsPerPage',4,...%生成图形的行数
'NumPlotColumnsPerPage',4,...%生成图形的列数
'IncludeErrorMessages',false,...%不包括错误信息
'IncludeCoverageResult',true,...%包含覆盖度结果
'IncludeTestResults',0);%包含所有的测试结果
ResultsObj是运行tf返回的句柄,filePath_pdf为生成pdf报告的路径+名称。
IncludeCoverageResult参数为true表示需要生成覆盖度的报告。其他参数见上面的注释。
生成的测试报告
覆盖度报告:
总结
至此,Simulink Test自动化测试流程已基本实现。
MIL测试时需要把主要的精力放在Test case的设计上。
若你觉得本文对你有帮助,欢迎点赞,关注,收藏,转发~~~ 你的鼓励是对小弟的最大支持~~~
建了一个WX公众号,《汽车电子学习笔记》感兴趣可以关注一下~~~文章都会同步更新~