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

如何用@test_approx_eq_eps测试Julia中返回三元组浮点数的函数?

测试返回三元浮点数元组的函数

在Julia里用@test_approx_eq_eps测试返回三元浮点数元组的函数其实很直接,有两种常用的方式,看你更偏向哪种需求:

方法1:直接对整个元组进行元素级比较

如果你只需要快速验证整个元组的所有元素都满足近似条件,可以直接把预期元组和函数返回的结果元组传入宏里。@test_approx_eq_eps会自动逐个检查元组中的每个元素,确保它们的误差都在指定的epsilon范围内。

示例代码:

using Test

# 你的目标函数
function my_calculation()
    return (0.1 + 0.2, 1.0 * 2.5, 3.1415926)
end

@testset "Test tuple output as a whole" begin
    expected_result = (0.3, 2.5, 3.1415926)
    actual_result = my_calculation()
    # 这里指定epsilon为1e-6,你可以根据需求调整精度
    @test_approx_eq_eps actual_result expected_result 1e-6
end

方法2:逐个元素单独测试

如果希望在测试失败时能立刻定位到是哪个元素出了问题,建议分开对每个元素进行测试。这种方式的报错信息会更明确,方便调试。

示例代码:

using Test

function my_calculation()
    return (0.1 + 0.2, 1.0 * 2.5, 3.1415926)
end

@testset "Test tuple elements individually" begin
    val1, val2, val3 = my_calculation()
    
    @test_approx_eq_eps val1 0.3 1e-6
    @test_approx_eq_eps val2 2.5 1e-6
    @test_approx_eq_eps val3 3.1415926 1e-6
end

注意事项

  • 确保你已经导入了Test模块(通过using Test),不然@test_approx_eq_eps宏会无法识别。
  • epsilon的值要根据你的计算精度需求来设置,比如高精度计算可能需要设为1e-12,普通场景用1e-6就足够。

内容的提问来源于stack exchange,提问作者Krzysztof Bieda

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:16:33