Как получить доступ к индексу теста в рамках модульного теста MATLAB / Simulink? - PullRequest
0 голосов
/ 16 апреля 2019

Я начал делать юнит-тесты для модели Simulink. Я использовал следующий блог в качестве отправной точки. Моя тестовая функция в настоящее время похожа на это:

function tests = exampleTest
tests = functiontests(localfunctions);
end

function setupOnce(testCase)
testCase.TestData.mdlName = 'myModel';
load_system(testCase.TestData.mdlName);
end

function teardownOnce(testCase)
close_system(testCase.TestData.mdlName, 0)
end

function test1(testCase)
set_param([testCase.TestData.mdlName, '/mySubsystem'], 'myMaskParameter','1')
set_param(...);
set_param(...);
sim(testCase.TestData.mdlName);
testCase.verifyEqual(mySubsystemOutput,1)
end

function test2(testCase)
...
end

Теперь я хочу изменить этот скрипт, чтобы его можно было легко и быстро модифицировать, если я когда-либо захочу создать много тестов (например,> 100). Я пытаюсь найти способ инициализировать переменную, которая будет содержать все параметры (то есть те, которые я объявляю в set_param) для каждого модульного теста (и, возможно, даже ожидаемые значения). Я думаю, что set_param может быть помещено в function setup(testCase) вместо отдельного теста, который удалил бы много строк в коде. Однако для достижения этого мне нужно знать фактический индекс testCase. Я не нашел ничего в документации или в примерах о способе доступа к этой информации. Есть ли способ? Кроме того, является ли мой подход хорошим подходом для выполнения того, что я хочу сделать (т.е. перегруппировать переменные, которые изменяются в общей функции, чтобы ограничить число строк, которые необходимо изменить)?

...