F#单元测试和模式匹配断言

时间:2017-10-01 19:10:15

标签: f# xunit

我开始在F#中打保龄球(http://codingdojo.org/kata/Bowling/)。我写了第一个单元测试:

[<Fact>]
let ``If no roll was made then the current frame should be the first one`` () =
    let game = newGame()
    let cf = currentFrame game
    match cf with
    | TenthFrame _ -> Assert.True(false)
    | Frame frame ->
        let (firstFrames, _) = deconstructGame game
        Assert.Equal (frame, List.item 0 firstFrames)

测试通过了,但是“Assert.True(false)”部分对我来说似乎很难看......是否有更好的方法来编写它?

1 个答案:

答案 0 :(得分:2)

来自docs。 xunit没有提供像Assert.Fail ()这样的方法。建议使用与您正在进行的方式类似的Assert.True (false, "message")