2016-05-12 21 views
2

如何在執行基於屬性的測試時建立測試輸入條件?如何在執行基於屬性的測試時建立測試輸入的條件?

例如,下面的代碼生成布爾變量,當我需要整型:

Gen.map (fun v -> v > 0) 

這裏的功能:

[<Property(QuietOnSuccess = true)>] 
let ``number of cells in grid equals rowcount squared``() = 
    let values = Arb.generate<int> |> Gen.map (fun v -> v > 0) 
            |> Arb.fromGen 

我需要這樣的東西,這樣我可以得到合格的整數:

Gen.filter (fun v -> v > 0) 

但是,我只是沒有看到這個選項。

有什麼建議嗎?

+0

老兄,我現在開始得到FSharp的掛了。儘管如此,我仍然不在你的水平。我從編碼中休息了兩週,現在我回來了。 –

+0

感興趣:[FsCheck - 生成器,shrinkers和任意實例](https://fscheck.github.io/FsCheck/TestData.html#Test-data-generators-shrinkers-and-Arbitrary-instances) –

+1

'Gen.where '或'Gen.suchThat'? –

回答

1

嘗試Gen.suchThat (fun v -> v > 0)

相關問題