опция runtests для запуска одного теста из файла - PullRequest
3 голосов
/ 11 июля 2019

Есть ли способ запустить одиночный тест в классе matlab.unittest.TestCase? У меня есть файл с 15 тестами, но я хочу запустить только один из них. Я обычно запускаю весь файл с

runtests('test/disaggregationtests.m')

Я ожидал, что смогу сделать что-то вроде

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

но это приводит к пустому TestResult.

1 Ответ

3 голосов
/ 11 июля 2019

Отчасти это зависит от версии MATLAB, которую вы используете, но существует множество способов выполнить один тест, а также несколько способов определить, что такое отдельный тест, поскольку при параметризации теста ([1] , [2] , [3] ) один метод тестирования может фактически создать несколько тестов, каждый из которых может выполняться независимо.Обратите внимание, что «Имя» каждого теста соответствует свойству name массива Test, возвращаемого testsuite или TestSuite.fromFile, и т. Д. Это также то, что показывает, когда происходит сбой.

Вот пара вещей, которые выможно сделать в самой последней версии MATLAB (R2019a).Более ранние версии могут иметь различную поддержку.

1) Выполнить напрямую, используя имя в качестве первого аргумента (тест должен быть доступен по пути, отсюда cd)

>> cd test
>> runtests disaggregationtests/testWeekDisaggGrowth 

2) ИспользоватьИмя теста в виде пары имя / значение.РЕДАКТИРОВАТЬ: вы можете просто указать на папку в качестве первого аргумента

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

3) Используйте кнопку набора инструментов запуска тестов , чтобы запустить тест, где ваш текущий курсор находится в редакторе.Обратите внимание, что при этом будут запущены все параметризации выбранного теста, поэтому он может быть, а может и не быть тем, что вам нужно.

Run Current Test

4) Используйте пару значений имя TestProcedure.Обратите внимание, что при этом будут запущены все параметризации выбранного теста, поэтому он может или не может быть тем, что вы хотите

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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...