我坚持使用单元测试。我有以下源代码:
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方法的签名无效:在测试之前运行
有人知道答案的原因吗? 第二个问题是:是否可以在没有类型定义的情况下编写单元测试,但是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
我再次得到了与之前相同的例外
答案 0 :(得分:3)
在F#中,使用<-
而非=
分配可变值。
因此,您的安装方法应如下所示:
[<SetUp>]
member public x.``run before test``() =
state <- []
工作正常。
对于您的第二个问题,如果您进行与上述相同的更改,此布局适合我。