2016-05-12 61 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)

相关问题