When making a test class with FsUnit, [<Test>] is not a valid attribute on a member. Why?
我正在摆弄一个新的F#项目(我做的还不多),我的目标是以TDD方式进行。因此,由于我有很多在C#项目中使用NUnit的经验,因此我试图使自己熟悉FsUnit,这似乎是一个非常常见的框架。
我的代码如下:
1 2 3 4 5 6 7 8 9 10 11 | module DatabaseReaderTest open NUnit.Framework open FsUnit [<TestFixture>] type DatabaseReaderTest ()= [<Test>] member x.ResultsAreReturnedFromDatabase = DatabaseReader.result.GetSqlString(1) |> should equal"first" |
据我所知,这遵循FsUnit主页(http://fsunit.codeplex.com/)上的示例,但是编译器告诉我
关于我在这里做错什么的任何提示吗?
谢谢!
您可能需要使用方法而不是属性。只需添加类型为unit的
请注意,如果在运行测试之前不需要任何自定义初始化,并且使用的是NUnit的最新版本,则应该可以将具有
这为您提供了更轻量级的语法。有些人还喜欢使用双击语法,使得可以将测试名称写成普通的英语句子(在测试运行器中很好地显示):
1 2 3 4 5 | module DatabaseReaderTest = [<Test>] let ``Results are returned from database`` () = DatabaseReader.result.GetSqlString(1) |> should equal"first" |