【发布时间】:2019-06-23 14:10:03
【问题描述】:
我正在使用 Julia 测试套件功能,我非常喜欢它。 然而,我想不通的是如何让测试套件在完成后报告潜在的消息。
假设我有一个像下面这样的测试套件,其中每个函数在返回之前依次执行一堆测试
@testset "MyTestSuite" begin
@testset "Subtest1" begin @test my_test_1() end
@testset "Subtest2" begin @test my_test_2() end
@testset "Subtest3" begin @test my_test_3() end
@testset "Subtest4" begin @test my_test_4() end
end
如果现在说 my_test_4 失败或抛出错误,那么输出将如下所示
Test Summary: | Pass Error Total
MyTestSuite | 65 1 66
Subtest1 | 5 1 6
Subtest2 | 10 0 10
Subtest3 | 20 0 20
Subtest4 | 30 0 30
ERROR: LoadError: Some tests did not pass: 65 passed, 0 failed, 1 errored, 0 broken.
但现在(据我所知)我可以在不向上滚动终端输出的情况下查看问题所在。如果我的测试套件足够长,并产生足够多的诊断信息,那么我什至可能会丢失错误信息,或者至少很难找到。
那么,有人知道解决这个问题的好方法吗?是否可以为宏 @testset 提供选项以确保它打印收集错误以进行进一步处理?
【问题讨论】:
标签: unit-testing error-handling julia test-suite