是否可以在matlab.unittest.TestCase
类中运行单个测试?我有一个包含约15个测试的文件,但我只想运行其中一个。我通常使用
runtests('test/disaggregationtests.m')
我原本希望能够做类似
的事情runtests('test/disaggregationtests.m', 'Name', 'testWeekDisaggGrowth')
,但这将导致空TestResult
。
答案 0 :(得分:3)
其中有些取决于您使用的MATLAB版本,但是有多种方法可以运行单个测试,还有多种方法可以确定单个测试,因为测试参数化({{3 }},[1],[2]),单个测试方法实际上可以产生多个可以独立运行的测试。请注意,每个测试的“名称”都与testsuite
或TestSuite.fromFile
等返回的Test数组的name属性匹配。这也是发生故障时的显示。
在最新版本的MATLAB中,您可以做几件事。早期版本可能具有不同的支持。
1)直接使用名称作为第一个参数运行(测试必须在路径上可用,因此在cd上可用)
>> cd test
>> runtests disaggregationtests/testWeekDisaggGrowth
2)使用测试的名称作为名称/值对。编辑:您可以简单地将文件夹指向第一个arg
>> runtests('test', 'Name', 'disaggregationtests/testWeekDisaggGrowth')
3)使用[3]在编辑器中当前光标所在的位置运行测试。请注意,这将运行所选测试的所有参数化,因此它可能不是您想要的。
4)使用TestProcedure名称值对。请注意,这将运行所选测试的所有参数化,因此可能不是您想要的
>> runtests('test/disaggregationtests.m', 'TestProcedure', 'testWeekDisaggGrowth')
希望有帮助!