我正在研究基于属性的测试,并且很好奇如何将这种类型的测试应用到 BlackJack 游戏的 Deal 函数中。
这是一个单元测试(又名:基于示例的测试):
[<Test>]
let ``deal two cards`` () =
let hand = 2
let dealPlayer cardCount =
[for i in [1..cardCount] -> shuffleDeck.Pop]
|> Seq.toList
(dealPlayer hand).Length |> should equal (2)
什么是基于属性的测试的示例?
我会测试两张牌是否在 4 套花色范围内吗?(即黑桃、方块、红心、梅花) 依赖静态类型不会对我来说已经确保了吗?
我会测试两张牌是否在数字或面的范围内?(即 2..10;Jack;Queen;King;Ace) 再一次,依赖静态类型不是已经为我确保了吗?
同样,在为二十一点游戏执行基于属性的测试时,我应该考虑什么?