使用Nunit将F#测试用例方法公开用于单元测试

时间:2013-01-30 16:21:36

标签: f# nunit

我正在使用F#编写我的测试方法,但是Nunit抱怨这些方法不公开。

    namespace Test

open NUnit.Framework

type public Test() = 

    [<Test>]
    let testIt () =

        Assert.AreEqual(10,10)

我需要改变什么?

2 个答案:

答案 0 :(得分:10)

由于let绑定是父类型的私有,因此您必须使用member

namespace Test

open NUnit.Framework

[<TestFixture>]
type public Test() = 

    [<Test>]
    member x.testIt() =
        Assert.AreEqual(10, 10)

如果您不需要复杂的设置,最好直接使用模块级let绑定:

module Test

open NUnit.Framework

[<Test>]
let testIt() = Assert.AreEqual(10, 10)

答案 1 :(得分:7)

您可以将F#测试用例放在module中,以使其公开并对NUnit可见:

module Tests

open NUnit.Framework

let [<Test>] ``10 should equal 10`` () = Assert.AreEqual(10,10)