F# 测试结果是否为 Some(any)
F# test if the result is Some(any)
我需要检查我的验证函数是否 returns some
失败或 none
。如果returnsSome<string>
,则验证错误,否则有效,函数returnsNone
。
这是我的尝试,但重构并不安全:
[<Property(Arbitrary=[| typeof<Strings.WithLenFrom1To100> |])>]
let ``lengthValidator should return some error when the string's length is longer than expected``(str:string)=
let maxValidLen = str.Length-1
let actual = lengthValidator maxValidLen str
let expected = Some(sprintf "Maximum string length is %i but %s contains %i characters" maxValidLen str str.Length)
//How can I say **let expected = Some(anything) **instead
test <@actual = expected@>
test <@ actual.IsSome @>
我需要检查我的验证函数是否 returns some
失败或 none
。如果returnsSome<string>
,则验证错误,否则有效,函数returnsNone
。
这是我的尝试,但重构并不安全:
[<Property(Arbitrary=[| typeof<Strings.WithLenFrom1To100> |])>]
let ``lengthValidator should return some error when the string's length is longer than expected``(str:string)=
let maxValidLen = str.Length-1
let actual = lengthValidator maxValidLen str
let expected = Some(sprintf "Maximum string length is %i but %s contains %i characters" maxValidLen str str.Length)
//How can I say **let expected = Some(anything) **instead
test <@actual = expected@>
test <@ actual.IsSome @>