测试模型使用MATLAB单元测试

你可以用MATLAB®运行编写的测试的单元测试框架万博1manbetx®测试™.使用MATLAB单元测试框架:

  • 允许您与MATLAB单元测试脚本、函数和类一起执行模型测试。

  • 支持使用相同的框架进行模型和代码测试。

  • 支持与持续集成(CI)系统的集成,如Jenkins™。

总体工作流程

使用MATLAB进行单元测试:

  1. 创建一个TestSuite万博1manbetx仿真软件测试文件。

  2. 创建一个TestRunner.

  3. 创建插件对象以自定义TestRunner.例如:

  4. 将插件添加到TestRunner.

  5. 方法运行测试运行方法,或并行运行测试runInParallel方法。

注意事项

使用MATLAB单元测试运行测试时,请考虑以下几点:

  • 如果您在测试管理器中禁用了一个测试,那么该测试将使用MATLAB单元测试进行筛选,结果将反映一个失败的假设。

测试术语的比较

MATLAB单元测试具有类似于函数的性质万博1manbetx仿真软件测试.例如,

  • 如果测试用例包含迭代,MATLAB单元测试包含参数化。

  • 如果测试文件或测试套件包含回调,MATLAB单元测试包含一个或多个回调装置。

测试用例迭代和MATLAB单元测试参数化

参数化细节对应于迭代的属性。

万博1manbetx仿真软件测试

MATLAB的单元测试

迭代类型:照本宣科

参数化属性:ScriptedIteration

迭代类型:表

参数化属性:TableIteration

迭代的名字

参数化的名字

测试用例迭代对象

参数化值

测试回调,MATLAB单元测试夹具

fixture依赖于测试文件中包含的回调。fixture不包括测试用例回调,这些回调是与测试用例本身一起执行的。

回调中万博1manbetx仿真软件测试

夹具在MATLAB单元测试中

测试文件回调

FileCallbacksFixture

测试套件回调

SuiteCallbacksFixture

文件和套件回调

异构CallbacksFixture,包含FileCallbacksFixtureSuiteCallbacksFixture

没有回调

没有固定

基本工作流程使用MATLAB®单元测试

这个例子演示了如何为Simulink®Test™中创建的测试文件创建和运行一个基本的MATLAB®单元测试。万博1manbetx您可以创建一个测试套件,运行测试,并显示诊断报告。

在运行此示例之前,暂时禁用验证失败导致的警告。

警告Stateflow:运行时:TestVerificationFailed;警告Stateflow: cdr: VerifyDangerousComparison;

1.在测试管理器中创建一个测试文件,或者从一个预先存在的测试文件开始。对于这个示例,AutopilotTestFile测试一个自动驾驶仪系统的组件对几个要求,使用验证语句。

2.创建一个TestSuite从测试文件中。

apsuite = testsuite (“AutopilotTestFile.mldatx”);

3.运行测试,创建一个TestResult对象。命令窗口从验证语句失败。

apresults =运行(apsuite);
设置FileCallbacksFixture = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = sltest.testmanager.fixtures.FileCallbacksFixture错误发生。结果,使用此装置的所有测试都失败了,没有运行到完成。- - - - - - - - - - - -错误ID: - - - - - - - - - - - -“环球套票:buildProcess: cacheDirContainsTmpDir”- - - - - - - - - - - - - - - -错误细万博1manbetx节:- - - - - - - - - - - - - - - -使用仿真软件错误。终止构建过程的fileGenControl。系统临时文件夹(/tmp/Bdoc20a_1326390_220260)是‘CacheFolder’(/tmp/Bdoc20a_1326390_220260)的子文件夹,不支持。万博1manbetx更改系统临时文件夹,使它不是'CacheFolder'的子文件夹。误差模型。万博1manbetxSimulink中的fileGenControl万博1manbetx错误。在sltest.testmanager.fixture中的fileGenControl错误。CallbacksFixture/setup (line 27) evalin('base', callback); ================================================================================ Done setting up FileCallbacksFixture __________ Tearing down FileCallbacksFixture Done tearing down FileCallbacksFixture: Invoked cleanup callback of "AutopilotTestFile". __________ Failure Summary: Name Failed Incomplete Reason(s) ================================================================================================= AutopilotTestFile > Basic Design Test Cases/Requirement 1.3 Test X X Errored.

4.要查看测试的详细信息,请显示报告财产的DiagnosticRecord对象。记录显示在测试期间验证失败。

apresults.Details.DiagnosticRecord.Report
ans = 'Error发生在sltest.testmanager. fixtures.com filecallbacksfixture中。结果,使用此装置的所有测试都失败了,没有运行到完成。- - - - - - - - - - - -错误ID: - - - - - - - - - - - -“环球套票:buildProcess: cacheDirContainsTmpDir”- - - - - - - - - - - - - - - -错误细万博1manbetx节:- - - - - - - - - - - - - - - -使用仿真软件错误。终止构建过程的fileGenControl。系统临时文件夹(/tmp/Bdoc20a_1326390_220260)是‘CacheFolder’(/tmp/Bdoc20a_1326390_220260)的子文件夹,不支持。万博1manbetx更改系统临时文件夹,使它不是'CacheFolder'的子文件夹。误差模型。万博1manbetxSimulink中的fileGenControl万博1manbetx错误。在sltest.testmanager.fixture中的fileGenControl错误。CallbacksFixture/setup (line 27) evalin('base', callback);'

启用警告。

警告Stateflow:运行时:TestVerificationFailed;警告Stateflow: cdr: VerifyDangerousComparison;

另请参阅

||||

相关的话题