You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:35:32