How to call a function if unit test fails?
古いコメントを表示
If this is possible in a script unit test, that would be great. I want to do the following:
%% Unit test
a = 1;
b = 2;
fail = assert(a == b)
if fail
fail_function;
end
fuction fail_function
disp('Test failed');
end
I've also tried finding something to do this using class-based unit testing, but I haven't found anything. Thank you.
1 件のコメント
Walter Roberson
2020 年 1 月 30 日
assert() does not permit output assignment.
採用された回答
その他の回答 (1 件)
Steven Lord
2020 年 1 月 30 日
編集済み: Steven Lord
2020 年 1 月 30 日
If all you want your function to do is display a diagnostic message, just modify your call to assert slightly.
%% Unit test
a = 1;
b = 2;
assert(a == b, 'Test failed')
If you want your function to do something else there may be a way to do what you want. One possibility would be to use the diagnostic input to the qualification functions/methods. But it would be difficult to give a more informative answer without more information about what you want to do.
[Forgot assert can't have an output argument when I copied and pasted the example. Removing the output.]
カテゴリ
ヘルプ センター および File Exchange で Testing Frameworks についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!