Why in the Test Assessment I can't use the '==' operator to compare expressions of type real_T within the 'verify' operator?

24 次查看(过去 30 天)
When I run a test in which I use a 'verify' operator in a test assessment I obtain the following warning:
"The use of the '==' operator to compare expressions of type real_T within the 'verify' operator may produce unexpected results. Step 'step_0_6605' in Test Sequence 'WiperFunctionSWC_PIL_NominalWorkingConditions/Test Assessment': verify(WiperSpeed==0)"
While when I use an 'assert' operator it works fine.

回答(1 个)

Gyan Vaibhav
Gyan Vaibhav 2023-10-9
Hi Domenico,
The warning you encountered is not related to the type of variable you are using, “real_T, but rather it is related to the precision of floating-point numbers. The following documentation links for both the verify and assert functions emphasizes the importance of using a threshold when working with floating point numbers:
To address this warning, you can use the following workaround:
thres = 0.001; % Set your desired threshold
verify(abs(WiperSpeed - 0) < thres)
By comparing the absolute difference between WiperSpeedand 0 against the threshold in the verify statement, you should be able to avoid the warning. I hope this explanation helps.

类别

Help CenterFile Exchange 中查找有关 Test Execution 的更多信息

产品


版本

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by