gpt4 book ai didi

f# - 使用 FsUnit 断言一些

转载 作者:行者123 更新时间:2023-12-01 12:55:15 25 4
gpt4 key购买 nike

我正在尝试检查我的函数是否返回 Some(x)

testedFunc() |> should be (sameAs Some)
testedFunc() |> should be Some
testedFunc() |> should equal Some

都行不通。我宁愿不使用:
match testedFunc() with
| Some -> Pass()
| None -> Fail()

有人知道这样做的方法吗?

最佳答案

我还没有真正使用过 FsUnit,但像这样的东西应该可以工作......

testedFunc() |> Option.isSome |> should equal true

或者因为一个 Option 已经有一个 IsSome 属性,你可以这样做,但要注意大小写 - 它不同于 Option.isSome功能。
testedFunc().IsSome |> should equal true

第三种方法是将您正在测试的函数与 Option.isSome 组合在一起。得到一个直接返回 bool 值的函数。这在本示例中不是很有用,但是如果您需要使用各种输入多次测试返回 Option 的函数,这种方法可以帮助减少重复代码。
let testedFunc = testedFunc >> Option.isSome
testedFunc() |> should equal true

关于f# - 使用 FsUnit 断言一些,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10077421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com