get result of test.verifyThat

8 views (last 30 days)
Hans Barrios
Hans Barrios on 28 May 2020
Answered: Steven Lord on 14 Jul 2020
Dear Support-team,
I am working on a custom criteria script for the test manager.
In the script, I use the command "test.verifyThat" like this:
test.verifyThat(dataPair(i).ts_data.Data, IsEqualTo(dataPair(i).ts_ref.Data, 'Within', AbsoluteTolerance(absTol) | RelativeTolerance(relTol)));
I would like to get the result as a variable (true or false) if the test passed or not, i.e. something like:
test_passed = test.verifyThat(...
Could you tell me if this is possible and how it would work?
Thank you in advance!
Regards, Hans
  2 Comments
Steven Lord
Steven Lord on 13 Jul 2020
How are you hoping or planning to use that information if you were able to get access to that information? There may be an alternative way to achieve your goal (like onFailure.)
Hans Barrios
Hans Barrios on 14 Jul 2020
We run several test in our pipeline. In some of them, multiple criteria for one single simulation are checked. For example, in one test we call the verifyThat-command 24 times in our custom criteria script to check several signals for the same simulation run. Since we also generate several plots, the report generated by the test manager is quite large. And it is sometimes quite laborious to find which one of the 24 verifyThat-test did not pass. Thus, we want to create an overview, e.g. a table or a matrix, where we can see directly which test passed or not.

Sign in to comment.

Answers (2)

Bhargavi Maganuru
Bhargavi Maganuru on 8 Jul 2020
Hi,
There is no output argument for verifyThat so you cannot assign output something like this test_passed = test.verifyThat(..)
You can run the test using runtests which returns TestResult array which has properties passed, failed, incomplete and others, these indicates whether test is passed or failed.
Hope this helps!
  1 Comment
Hans Barrios
Hans Barrios on 13 Jul 2020
Hi,
ok, thank you for your help! I will then figure out a different way of getting the result I need. Maybe I will replicate the verifyThat command I am using in order to get the test result
BR, Hans

Sign in to comment.


Steven Lord
Steven Lord on 14 Jul 2020
I recommend specifying a diagnostic in your verifyThat call. See the section of the example on that page starting from the last block of code in the example:
testCase.verifyThat(1, IsEqualTo(2), ...
'actual was supposed to be equal to expected' )
When this fails, you can see that it will display the diagnostic string. There are other types of diagnostics you can specify as well.
How are you running your tests? Do you receive a TestResults object from the runner? If so the table method of that class will show which of your test methods failed.

Products

Community Treasure Hunt

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

Start Hunting!