如何在GNU Octave的assert测试方法中测试多个返回值?
同时验证函数多个返回值的测试方案
这问题我熟!要同时检查sumdiff函数的两个返回值,其实很简单——你只需要在测试代码里把函数的两个输出结果都捕获到,再分别用assert进行验证就可以了。修改后的完整代码如下:
function [s, d] = sumdiff(a,b) s = a+b; d = a-b; end %!test %! a = [10]; b = [1]; %! [test_s, test_d] = sumdiff(a, b); % 同时接收两个返回值 %! assert(test_s, 11); % 验证第一个返回值是否正确 %! assert(test_d, 9); % 验证第二个返回值是否正确
额外小技巧
如果你想让代码更紧凑,也可以直接把函数返回值打包成数组,和预期结果做一次性对比:
%!test %! a = [10]; b = [1]; %! assert(sumdiff(a,b), [11, 9]);
这种写法会自动把两个返回值合并成一个数组,再和[11,9]逐一比对,效果和分开断言是一样的,不过分开写的可读性会更强哦。
内容的提问来源于stack exchange,提问作者LEo
相关产品推荐
相关产品推荐

