用法:
@testset [CustomTestSet] [option=val ...] ["description"] begin ... end
@testset [CustomTestSet] [option=val ...] ["description $v"] for v in (...) ... end
@testset [CustomTestSet] [option=val ...] ["description $v, $w"] for v in (...), w in (...) ... end
如果提供了for
循环,则启动一个新的测试集或多个测试集。
如果没有给出自定义测试集类型,则默认创建 DefaultTestSet
。 DefaultTestSet
记录所有结果,如果有任何 Fail
或 Error
,则在顶级(非嵌套)测试集的末尾抛出异常,以及测试结果的摘要.
可以给出任何自定义测试集类型(AbstractTestSet
的子类型),它也将用于任何嵌套的 @testset
调用。给定的选项仅适用于给出它们的测试集。默认测试集类型接受 verbose
布尔选项:如果 true
,即使嵌套测试集全部通过,也会显示嵌套测试集的结果摘要(默认为 false
)。
说明字符串接受来自循环索引的插值。如果没有提供说明,则基于变量构建。
默认情况下,@testset
宏将返回测试集对象本身,尽管可以在其他测试集类型中自定义此行为。如果使用for
循环,则宏收集并返回finish
方法的返回值列表,默认情况下,该方法将返回每次迭代中使用的测试集对象列表。
在执行 @testset
的主体之前,有一个对 Random.seed!(seed)
的隐式调用,其中 seed
是全局 RNG 的当前种子。而且,在body执行之后,全局RNG的状态恢复到@testset
之前的状态。这是为了在失败的情况下简化再现性,并允许无缝重新安排 @testset
s,而不管它们对全局 RNG 状态的副作用如何。
例子
julia> @testset "trigonometric identities" begin
θ = 2/3*π
@test sin(-θ) ≈ -sin(θ)
@test cos(-θ) ≈ cos(θ)
@test sin(2θ) ≈ 2*sin(θ)*cos(θ)
@test cos(2θ) ≈ cos(θ)^2 - sin(θ)^2
end;
Test Summary: | Pass Total
trigonometric identities | 4 4
相关用法
- Julia Test.@test_skip用法及代码示例
- Julia Test.@test_throws用法及代码示例
- Julia Test.@test用法及代码示例
- Julia Test.@test_broken用法及代码示例
- Julia Test.@test_deprecated用法及代码示例
- Julia Test.@test_logs用法及代码示例
- Julia Threads.atomic_cas!用法及代码示例
- Julia Threads.atomic_min!用法及代码示例
- Julia Timer方法用法及代码示例
- Julia Threads.atomic_xor!用法及代码示例
- Julia Threads.atomic_and!用法及代码示例
- Julia Threads.atomic_max!用法及代码示例
- Julia Threads.atomic_or!用法及代码示例
- Julia Threads.Atomic用法及代码示例
- Julia Threads.atomic_sub!用法及代码示例
- Julia Threads.atomic_nand!用法及代码示例
- Julia Threads.atomic_xchg!用法及代码示例
- Julia Threads.atomic_add!用法及代码示例
- Julia splice!用法及代码示例
- Julia @cfunction用法及代码示例
- Julia LibGit2.count用法及代码示例
- Julia LinearAlgebra.BLAS.dot用法及代码示例
- Julia break用法及代码示例
- Julia sizeof()用法及代码示例
- Julia :<=用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 Test.@testset — Macro。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。