Julia中@testset中的异常处理

Julia中@testset中的异常处理,julia,Julia,在@testset中调查或打印失败的@test的进一步细节(打印函数的输入变量、迭代次数等)的首选方法是什么? 我试着用一个试抓块把它包起来。然而,它似乎没有开火 下面是一个虚构的例子: using Base.Test rng = MersenneTwister(3231); # define function that works different than expected function compare(a,b) if a == 3 && b == 3

在@testset中调查或打印失败的@test的进一步细节(打印函数的输入变量、迭代次数等)的首选方法是什么? 我试着用一个试抓块把它包起来。然而,它似乎没有开火

下面是一个虚构的例子:

using Base.Test
rng = MersenneTwister(3231);

# define function that works different than expected
function compare(a,b)
    if a == 3 && b == 3
        return false
    else
        return a == b
    end
end

# test function in a test set
@testset "Test Compare Function" begin
    for iii = 1:10
        number = rand(rng,1:10)
        try
            @test compare(number,number) == true
        catch
            @show(number)
        end
    end
end

多谢各位

您需要确保在打印后进行测试

@testset "Test Compare Function" begin
    for iii = 1:10
        number = rand(rng,1:10)
        @test begin
             res = compare(number,number) == true
             if !res
                 @show number
                 flush(STDOUT)
             end
             res
        end
    end
end