主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

批量创建多个基线测试

此示例演示了如何使用 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

另请参阅