Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
F# FsCheck test更改用于测试的值的范围_F#_Fscheck - Fatal编程技术网

F# FsCheck test更改用于测试的值的范围

F# FsCheck test更改用于测试的值的范围,f#,fscheck,F#,Fscheck,我的代码在使用FsCheck时自动测试-99到99之间的值 Check.Quick测试 其中,我的测试函数采用整数值 我想使用1到4999之间的值进行测试。默认情况下,FsCheck生成1到100之间的整数。您可以通过向检查提供配置对象来更改此设置 let config = { Config.Quick with EndSize = 4999 } Check.One(config,test) EndSize表示当所有测试都通过时,用于最后一次测试的大小。大小在StartSize

我的代码在使用FsCheck时自动测试-99到99之间的值

Check.Quick测试
其中,我的测试函数采用整数值


我想使用1到4999之间的值进行测试。

默认情况下,FsCheck生成1到100之间的整数。您可以通过向检查提供配置对象来更改此设置

let config = {
  Config.Quick with 
    EndSize = 4999
}
Check.One(config,test)

EndSize表示当所有测试都通过时,用于最后一次测试的大小。大小在StartSize和EndSize之间线性增加,如果您希望生成测试数据的范围从1以外的某个值开始,也可以设置StartSize。请参见

中的
类型配置的实现。您可以将
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
使用该自定义生成器定义属性

您可以,这是我的首选方法:

[<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))
[]
让``数字介于-99和99``()=
设n=Gen.elements[-99..99]|>Arb.fromGen
道具n(有趣的数字->
//此处进行测试-例如:
Assert.in范围(数字,-99,99))

我想你可以通过创建自己的生成器来完成它:谢谢链接:-)修复了它!你应该去掉你的问题或者扩展它,这样我们可以让它对未来的用户有用,然后也考虑使用<代码> GEN。选择这里-会更有效(不分配整数列表)。但是
Gen.elements
更直接地推广到其他类型。这有点误导。大小是一个正整数,它限制了所生成类型的大小——但是每个类型都有自己对大小含义的解释。对于
int
i,它表示
abs(i)