你可以用MATLAB®运行编写的测试的单元测试框架万博1manbetx®测试™.使用MATLAB单元测试框架:
允许您与MATLAB单元测试脚本、函数和类一起执行模型测试。
支持使用相同的框架进行模型和代码测试。
支持与持续集成(CI)系统的集成,如Jenkins™。
使用MATLAB进行单元测试:
创建一个TestSuite
从万博1manbetx仿真软件测试文件。
创建一个TestRunner
.
创建插件对象以自定义TestRunner
.例如:
的matlab.unittest.plugins.TAPPlugin
根据Test Anything协议生成一个结果流,用于特定的CI系统。
的sltest.plugins.ModelCoveragePlugin
指定模型覆盖率集合,并使覆盖率结果可从命令行访问。
将插件添加到TestRunner
.
方法运行测试运行
方法,或并行运行测试runInParallel
方法。
使用MATLAB单元测试运行测试时,请考虑以下几点:
如果您在测试管理器中禁用了一个测试,那么该测试将使用MATLAB单元测试进行筛选,结果将反映一个失败的假设。
MATLAB单元测试具有类似于函数的性质万博1manbetx仿真软件测试.例如,
如果测试用例包含迭代,MATLAB单元测试包含参数化。
如果测试文件或测试套件包含回调,MATLAB单元测试包含一个或多个回调装置。
参数化细节对应于迭代的属性。
万博1manbetx仿真软件测试 |
MATLAB的单元测试 |
---|---|
迭代类型:照本宣科 |
参数化属性: |
迭代类型:表 |
参数化属性: |
迭代的名字 |
参数化的名字 |
测试用例迭代对象 |
参数化值 |
fixture依赖于测试文件中包含的回调。fixture不包括测试用例回调,这些回调是与测试用例本身一起执行的。
回调中万博1manbetx仿真软件测试 |
夹具在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;
测试
|TestResult
|TestRunner
|TestSuite
|matlab.unittest。插件包