批量创建多个基线测试
此示例演示了如何使用 sltest.testmanager.createTestForComponent
在批处理模式下为多个组件创建基线测试用例和测试框架。该示例还包含报告生成功能。
加载模型
load_system("sltestCruiseControl")
自定义测试框架名称
为了提高测试工件(如测试用例和测试框架名称)的可追溯性,请自定义创建的测试框架的默认名称,使其使用组件名称而非所属模型名称。
sltest.harness.setHarnessCreateDefaults... ("Name","$Component$_Harness");
以批处理模式创建测试用例和测试框架
使用 sltest.testmanager.createTestForComponent
API 可以同时创建多个测试用例和测试框架。指定创建测试文件及测试文件名、顶层模型、待测试组件以及测试类型。
[tc,status] = ... sltest.testmanager.createTestForComponent(... "CreateTestFile",true,... "TestFile","batchBaselines.mldatx",... "TopModel","sltestCruiseControl",... "Component",[... "sltestCruiseControl/TargetSpeedThrottle",... "sltestCruiseControlMode/disableCaseDetection",... "sltestCruiseControl/DriverSwRequest",... "sltestCruiseControl"],... "CreateExcelFile",true);
测试执行
createTestForComponent
API 在当前工作目录中生成测试文件和测试框架。保存模型上连接的框架,并保存测试文件。
tf = sltest.testmanager.TestFile("batchBaselines.mldatx");
tf.saveToFile;
运行测试,导出并保存测试结果。打开测试管理器以查看已创建的测试用例及结果图表。
resultSet = tf.run; sltest.testmanager.exportResults(resultSet,... "batchBaselinesResults.mldatx"); sltestmgr;
生成结果报告
sltest.testmanager.report(... resultSet,"myTestResultsReport.zip",... "IncludeCoverageResult",true,... "IncludeSimulationSignalPlots",true,... "IncludeComparisonSignalPlots",true,... "IncludeTestResults",0,... "IncludeSimulationMetadata",true);
清理
bdclose({"sltestCruiseControl",... "sltestDriverSwRequest",... "sltestCruiseControlMode"}) sltest.testmanager.clear sltest.testmanager.clearResults sltest.testmanager.close