F#NUnit测试返回时没有运行

时间:2015-02-11 17:08:30

标签: f# nunit assert

我正在使用VS 2013F#NUnit。值得注意的是我是F#的新手。

我添加了非常基本的测试,当我将调试器附加到NUnit并在调试模式下运行时,断点正被​​命中,但是测试返回时没有运行。 NUnit将其标识为测试但未运行(假设)Assert(可在底部屏幕截图中看到)。

enter image description here

enter image description here

测试:

module Test
open NUnit.Framework

[<TestFixture>]
type Test() = 
    [<Test>]
    let ConcatinationTest =
       Assert.AreEqual(Implementation.Concat("aaa"), "rootaaa")
       |> ignore

实现:

module Implementation

let Concat(text:string) = 
    "root"+ text

我的期望一定是错的。为什么不起作用?

2 个答案:

答案 0 :(得分:1)

OP,对于那些想知道这个有效的人来说。

module Test
open NUnit.Framework

[<TestFixture>]
type Test() = 
    member this.ConcatinationTestData() = 
        [new TestCaseData("roottext","text"); new TestCaseData("root","")]
    [<Test>]
    [<TestCaseSource("ConcatinationTestData")>]
    static member ConcatinationTest(expected:string, text:string) =
       Assert.AreEqual(expected,Implementation.Concat(text))
       |> ignore

调试 - &gt;附加到流程 - &gt; NUnit的-agent.exe

结果: enter image description here

答案 1 :(得分:1)

您将其定义为值,但必须是方法:

[<Test>]
static member ConcatinationTest () = ...

(根据OP的要求将评论转换为答案)