Baseline test - Is it possible to use relative path instead of absolute when adding baseline criteria?
4 次查看(过去 30 天)
显示 更早的评论
I have a problem when sharing my test files - mldatx files containing Baseline tests with other users. The problem is that when I add a Baseline criteria .mat file inside a Baseline test (via Test Manager tool), it creates an absolute path to this .mat file based on the path on my machine. When I share this Test File with other users, they cannot run the test because their absoulte path to .mat file is different than mine.
My question is: Is it possible to somehow add a relative path to a .mat file as Baseline criteria, which could then be loaded on every machine because it's tied to the relative path only, not absolute?
Thank you!
0 个评论
采纳的回答
Gayatri
2024-4-2
Hi Petar,
One way to handle this is by leveraging the ‘preLoadFcn’ property of your test cases. This property allows you to specify a function that runs before your test executes. It will dynamically set the path to your MAT file relative to the location of your test file.
1. Create a Preload Function: Write a function that calculates the path to your MAT file relative to the common base directory and sets this path in a way that your test can use it.
function preloadFunction(testCase)
% Example of setting a relative path for a MAT file
basePath = fileparts(which('yourTestFile.m'));
relativePathToMat = fullfile(basePath, 'relative', 'path', 'to', 'yourMatFile.mat');
testCase.TestData.matFilePath = relativePathToMat;
end
2. Configure Your Test to Use the Preload Function: In the Test Manager or your test script, set the ‘preLoadFcn’ property of your test case to point to the preload function you just created.
Please refer the below documentation for ‘preLoadFcn’ property: https://in.mathworks.com/help/simulink/ug/model-callbacks.html
I Hope it helps!
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Outputs 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!