这可能很简单,但我是 FsCheck 的新手,不知道为什么下面会引发错误(“Geneflect:类型未处理 System.Numerics.BigInteger”)?
open System.Numerics
type NumericGenerator =
/// Generating BigIntegers (though only in the regular integer range for now)
static member BigInt() =
{ new Arbitrary<System.Numerics.BigInteger>() with
override x.Generator =
Arb.generate<int>
|> Gen.map (fun i -> new BigInteger(i)) }
[<Property>]
let ``Simple test`` (b: BigInteger) =
Arb.register<NumericGenerator> |> ignore
b + 1I = 1I + b
这是将 FsCheck 与 xUnit 集成一起使用。