1

我想对我的测试进行参数化,类似于我在这里所做的,但是对于 xUnit 和 F#。

在链接代码中,基类实例化文件系统实现,让子类进行专门测试。

这次我只需要接收同一接口的不同实现的实例;我该如何以最好的方式解决这个问题?

这里这里是类似的资源,但它们并没有以一种很好的 F#-esque 方式解决问题。

最好我想使用 ML 仿函数,但没有那个,我真的必须开始进行子类型化吗?

4

1 回答 1

1

您可以在 xunit.extensions 中使用 xUnit 理论:

open System
open System.IO
open Xunit
open Xunit.Extensions


module MyTests =
    [<InlineData(FileShare.None)>]
    [<InlineData(FileShare.Write)>]
    [<InlineData(FileShare.Delete)>]
    let [<Theory>] ``test title`` (fs:FileShare) =
        printfn "fileShare=%s" (fs.ToString())
于 2013-12-25T23:40:00.963 回答