如何在 F# 中正确使用 NUnit?
How to use NUnit with F# properly?
我坚持进行单元测试。我有以下源代码:
module SampleTest
open FsUnit
open NUnit.Framework
[<TestFixture>]
[<Category("Category name")>]
type DoSthTest() =
let mutable state = []
[<SetUp>]
member public x.``run before test``() =
state = []
[<Test>]
member x.``add item``() =
state <- List.append state [1]
state.Length |> should equal 1
一般来说 运行 没问题....但没有 [] 功能。
我收到以下异常:结果消息:SetUp 或 TearDown 方法的签名无效:运行 before test
有人知道为什么吗?
第二个问题是:是否可以在没有类型定义的情况下编写单元测试,但 SetUp 也可以正常工作?
我的意思是这样的:
module SampleTest
open FsUnit
open NUnit.Framework
let mutable state = []
[<SetUp>]
let ``run before test``() =
state = []
[<Test>]
let ``add item``() =
state <- List.append state [1]
state.Length |> should equal 1
我又遇到了和以前一样的异常
在 F# 中,使用 <-
而不是 =
分配可变值。
因此您的设置方法应该如下所示:
[<SetUp>]
member public x.``run before test``() =
state <- []
效果很好。
关于你的第二个问题,如果你做与上面相同的更改,这个布局对我来说很好。
我坚持进行单元测试。我有以下源代码:
module SampleTest
open FsUnit
open NUnit.Framework
[<TestFixture>]
[<Category("Category name")>]
type DoSthTest() =
let mutable state = []
[<SetUp>]
member public x.``run before test``() =
state = []
[<Test>]
member x.``add item``() =
state <- List.append state [1]
state.Length |> should equal 1
一般来说 运行 没问题....但没有 [] 功能。 我收到以下异常:结果消息:SetUp 或 TearDown 方法的签名无效:运行 before test
有人知道为什么吗? 第二个问题是:是否可以在没有类型定义的情况下编写单元测试,但 SetUp 也可以正常工作? 我的意思是这样的:
module SampleTest
open FsUnit
open NUnit.Framework
let mutable state = []
[<SetUp>]
let ``run before test``() =
state = []
[<Test>]
let ``add item``() =
state <- List.append state [1]
state.Length |> should equal 1
我又遇到了和以前一样的异常
在 F# 中,使用 <-
而不是 =
分配可变值。
因此您的设置方法应该如下所示:
[<SetUp>]
member public x.``run before test``() =
state <- []
效果很好。
关于你的第二个问题,如果你做与上面相同的更改,这个布局对我来说很好。