如何将配置应用于一组基于属性的测试?

时间:2016-08-11 13:45:19

标签: f# xunit fscheck

如何将配置应用于一组基于属性的测试?

我尝试了以下内容:

let config = { Config.Quick with MaxTest = 10000
                                 QuietOnSuccess = true }

[<Property(Config=config)>] // Doesn't work because "Config" is a private member
let ``my property-based test`` () =
   ...

但是,Config成员设置为私有,不会编译。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

如果您想将MaxTest设置为10000,请使用MaxTest属性:

[<Property(MaxTest = 10000, QuietOnSuccess = true)>]
let ``my property-based test`` () =
   // ...

如果您认为违反DRY原则必须为每个属性键入,则可以创建派生属性:

type MyPropertyAttribute() =
    inherit PropertyAttribute(
        MaxTest = 10000,
        QuietOnSuccess = true)

然后在您的属性上使用该属性:

[<MyProperty>]
let ``my property-based test`` () =
   // ...