Is there a way to change order of TestCases in sltest.tes​tmanager.T​estSuite programmatically?

3 次查看(过去 30 天)
I'm importing content of a TestFile from external server. Everything works well, but there is a case, when order of the TestCases changes, and I want to refrect it in the parent sltest.testmanager.TestSuite.
I thought that sltest.testmanager.moveTests might be helpful, as it accepts array of objects to be moved, and moving those testcases to a temporary TestSuite, then back to the original place. Unfortunately order of the array doesn't seem to be respected - testcases are landing in their original order.
% sort test cases within this test suite
unsortedTCs = parentTS.getTestCases();
if ~isempty(unsortedTCs)
% collect the indexes of the referred testcases
sorting_array = getOriginalIndexes(unsortedTCs);
[~, ind] = sort(sorting_array);
sortedTCs = unsortedTCs(ind);
tempTestSuite = createTestSuite(parentTS, 'temp');
sltest.testmanager.moveTests(sortedTCs, tempTestSuite);
sltest.testmanager.moveTests(sortedTCs, parentTS);
remove(tempTestSuite);
end
Any hint?
In UI I can drag&drop testcases to change their order - looking for similar functionality over API.
Thank you!

回答(1 个)

Paul Urban
Paul Urban 2022-11-10
You can use the moveTest api’s starting with R2020b release to move tests with the following. We will request the documentation to be update with this example
sltest.testmanager.moveTests(tc1, tc2); % move tc1 below tc2
sltest.testmanager.moveTests(tc3, tc1); % move tc3 to top before tc1

类别

Help CenterFile Exchange 中查找有关 Write Unit Tests 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by