Is there a way to change order of TestCases in sltest.testmanager.TestSuite programmatically?
5 次查看(过去 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!
0 个评论
回答(1 个)
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
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Write Unit Tests 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!