我的代码在使用FsCheck时自动测试-99到99之间的值.
Check.Quick test
Run Code Online (Sandbox Code Playgroud)
我的测试函数采用整数值.
我想测试使用1到4999之间的值.
您可以Gen.elements
结合使用Prop.forAll
:
let n = Gen.elements [-99..99] |> Arb.fromGen
let prop = Prop.forAll n (fun number ->
// Test goes here - e.g.:
Assert.InRange(number, -99, 99))
prop.QuickCheck()
Run Code Online (Sandbox Code Playgroud)
Gen.elements
获取一系列有效值并从该序列创建一个统一的生成器.Prop.forAll
使用该自定义生成器定义属性.
您可以将它与FsCheck的xUnit.net胶水库结合使用,这是我首选的方法:
[<Property>]
let ``Number is between -99 and 99`` () =
let n = Gen.elements [-99..99] |> Arb.fromGen
Prop.forAll n (fun number ->
// Test goes here - e.g.:
Assert.InRange(number, -99, 99))
Run Code Online (Sandbox Code Playgroud)