runtests选项可从文件

时间:2019-07-11 14:50:15

标签: matlab unit-testing

是否可以在matlab.unittest.TestCase类中运行单个测试?我有一个包含约15个测试的文件,但我只想运行其中一个。我通常使用

运行整个文件
runtests('test/disaggregationtests.m')

我原本希望能够做类似

的事情
runtests('test/disaggregationtests.m', 'Name', 'testWeekDisaggGrowth')

,但这将导致空TestResult

1 个答案:

答案 0 :(得分:3)

其中有些取决于您使用的MATLAB版本,但是有多种方法可以运行单个测试,还有多种方法可以确定单个测试,因为测试参数化({{3 }},[1][2]),单个测试方法实际上可以产生多个可以独立运行的测试。请注意,每个测试的“名称”都与testsuiteTestSuite.fromFile等返回的Test数组的name属性匹配。这也是发生故障时的显示。

在最新版本的MATLAB中,您可以做几件事。早期版本可能具有不同的支持。

1)直接使用名称作为第一个参数运行(测试必须在路径上可用,因此在cd上可用)

>> cd test
>> runtests disaggregationtests/testWeekDisaggGrowth 

2)使用测试的名称作为名称/值对。编辑:您可以简单地将文件夹指向第一个arg

>> runtests('test', 'Name', 'disaggregationtests/testWeekDisaggGrowth')

3)使用[3]在编辑器中当前光标所在的位置运行测试。请注意,这将运行所选测试的所有参数化,因此它可能不是您想要的。

run tests toolstrip button

4)使用TestProcedure名称值对。请注意,这将运行所选测试的所有参数化,因此可能不是您想要的

>> runtests('test/disaggregationtests.m', 'TestProcedure', 'testWeekDisaggGrowth')

希望有帮助!