2017-10-29 18 views
2

私の検証関数が失敗した場合はsomeのものか、noneかどうかを確認する必要があります。 Some<string>を返した場合は妥当性検査エラーがあり、それ以外の場合は有効で、戻り値はNoneです。 これは私の試みですが、それは安全なリファクタリングていない:結果がSome(any)ならF#test

[<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 = [email protected]> 

答えて

4
test <@ actual.IsSome @> 
+0

パーフェクト!私のカスタム「差別化された連合」のためにどうすればいいですか? – Mohsen

+3

'myDuとMyCaseを一致させる_ - > true | _ - > false' – TheQuickBrownFox

関連する問題