get result of test.verifyThat

2 vues (au cours des 30 derniers jours)
Hans Barrios
Hans Barrios le 28 Mai 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 commentaires
Steven Lord
Steven Lord le 13 Juil 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 le 14 Juil 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.

Connectez-vous pour commenter.

Réponses (2)

Bhargavi Maganuru
Bhargavi Maganuru le 8 Juil 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 commentaire
Hans Barrios
Hans Barrios le 13 Juil 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

Connectez-vous pour commenter.


Steven Lord
Steven Lord le 14 Juil 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.

Catégories

En savoir plus sur Write Unit Tests dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by