用法:
@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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。