我有一个函数应该获得两个实际参数进行测试。这两个值都应由 Arbitrary 实例创建,因为它们需要具有某种不能完全任意的良好格式。
所以我创建了以下代码
let updating (x:SomeType) (y:SomeOtherType) =
let result = update x y
result.someProp = x.someProp
&& result.otherProp = y.otherProp
let arbSomeType =
Arb.generate<SomeType>
|> Gen.filter fun x -> x.checkSomeStuff
|> Arb.fromGen
let arbSomeType =
Arb.generate<SomeOtherType>
|> Gen.filter fun x -> x.checkPropertiesOfThis
|> Arb.fromGen
但是我现在如何组合这两个 Arbitrary 实例以使它们与测试方法的签名相匹配?
//let prop = Prop.forAll arbSomeType + arbSomeType updating
Check.QuickThrowOnFailure prop