13得票2回答
在C#中使用FsCheck:生成具有相同形状的二维数组列表

假设我正在编写一些视频分析的代码。这里是一个简化版本的Video类:public class Video { public readonly int Width; public readonly int Height; public readonly List<i...

13得票3回答
FsCheck中的属性如何思考?

我已经成功地将xUnit应用到我的小样例程序中。现在我想看看是否也能够使用FsCheck。我的问题是,当定义函数的测试属性时,我感到困惑。 也许我的函数样例集不够好,但是对于这些函数,有哪些好的测试属性呢? //transforms [1;2;3;4] into [(1,2);(3,4)]...

12得票1回答
使用FsCheck生成复杂对象时出现不一致的IEnumerable ArgumentException

问题 我在使用F#时,使用FsCheck生成一个对象(然后我在Xunit测试中使用它,但我可以完全在Xunit之外重新创建它,所以我认为我们可以忘记Xunit)。在FSI中运行了20次生成。 50% of the time, the generation runs successfull...

11得票2回答
如何在FsCheck中生成“复杂”对象?

我想创建一个FsCheck生成器来生成一个“复杂”的对象的实例。所谓复杂,是指在C#中已经存在的一个类,它有许多子属性和集合。这些属性和集合反过来需要生成数据。 假设这个类的名字叫做菜单,它有子集合菜肴和饮料(我编造的,请忽略糟糕的设计)。我想要做以下事情: 生成可变数量的菜肴和可变数量...

9得票2回答
如何在FsCheck中轻松过滤出一个歧视性联合案例?

考虑一个区分联合类型: type DU = | Foo of string | Bar of int | Baz of decimal * float | Qux of bool 我想使用FsCheck创建一个DU值列表,但我不希望任何值是Qux类型。 这个谓词已经存在: let i...

9得票1回答
强制FsCheck为字符串类型的判别联合字段生成NonEmptyString

我想使用FsCheck实现以下行为:我想创建一个生成器,用于生成一个MyUnion类型的实例,其中每个字符串字段都为非空/非空字符串。 type MyNestedUnion = | X of string | Y of int * string type MyUnion =...

9得票2回答
如何在FsCheck中注册一个任意实例并让xUnit使用它?

我有一个类型为Average的字段,其中包含一个名为count的正整数int64和一个名为sum的double字段。 我创建了一个任意生成有效实例的函数。 let AverageGen = Gen.map2 (fun s c -> Average(float(s),int64(in...

9得票2回答
如何为FsCheck测试生成空字符串

使用FsCheck,这是Haskell QuickCheck测试库的F#版本,从C#中生成测试,我发现随机字符串生成器不会生成空字符串。 using FsCheck.Fluent; Spec.ForAny<string>(s => s != null).QuickCheck...

7得票1回答
使用C#和FsCheck生成随机字符串

作为第一步,我希望逐渐将FsCheck集成到我的C#测试代码中。 我想随机生成部分输入数据。 以下是我生成随机字符串的方法: static string RandomString() { var kgen = Gen.Constant(Gen.Sized(g => Gen.O...