4

私のコードは、FsCheck を使用している間、-99 から 99 までの値を自動的にテストしています。

Check.Quick test

私のテスト関数は整数値を取ります。

1 から 4999 までの値を使用してテストしたいと思います。

4

2 に答える 2

6

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()

Gen.elements有効な値のシーケンスを取り、そのシーケンスから一様なジェネレータを作成します。Prop.forAllそのカスタム ジェネレーターでプロパティを定義します。

これを FsCheck の Glue Library for 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))
于 2015-09-22T10:34:21.910 に答える