2

FsCheck 允许Arbitrary在其 NUnit 集成中自定义:

[<Property(Verbose = true, Arbitrary= [typeof<Test.Arithmetic.MyArb>])>]
static member  MultiplyIdentity (x: int64) = x * 1 = x

此语法不起作用。问起来有点不好意思,但显然我以前从未需要过这个:如何将F#中的类型指定为属性参数?微软对此一无所知, Wikibooks项目也没有,我在谷歌上搜索时遇到了一些麻烦(单词类型无处不在)。

注 1:Arbitrary参数类型为Type [].

4

1 回答 1

4

我认为你很接近,但是[1;2;3]创建了一个list<int>,你想要一个数组文字使用[| 1;2;3 |]

[<Property(Verbose = true, Arbitrary= [| typeof<Test.Arithmetic.MyArb> |])>]
static member  MultiplyIdentity (x: int64) = x * 1 = x
于 2016-12-06T14:45:54.583 回答