f# - 如何在 F# 中使用 nUnit 捕获失败?
问题描述
假设我有这个代码:
let a () =
failwith "I want to fail!"
然后我有一个 nUnit 测试:
Assert.Throws(fun () -> a() |> ignore)
测试将返回:
方法具有非 void 返回值,但没有预期结果 异常没有堆栈跟踪
我如何测试我有预期失败情况的案例?
有一些关于异常的问题/答案,但我没有找到失败案例的答案。
解决方案
你可以这样做:
Assert.Throws(typeof<System.Exception>, TestDelegate (a)) |> ignore
附带说明一下,您可能想在 NUnit 之上尝试FsUnit一个更友好的框架。代码如下所示:
(fun () -> a() |> ignore)
|> should throw typeof<System.Exception>
推荐阅读
- javascript - 如何将形状网格添加到光滑的旋转木马?
- python - 如何解析 JSON 字符串中的转义双引号
- symfony - 容器扩展“框架”未注册
- c# - Getting 'relation "schemaversions" does not exist error'
- windows - 使用 CEF 使父窗口透明而子窗口不透明
- oracle - 性能:XMLDom vs XMLTable vs Extractvalue()
- c# - 使用 IronPython 从 C# 运行 Python 脚本
- javascript - 使用JS函数时HTML闪烁
- spring - 在 JpaRepository 中相交
- java - 在java中操作数组中的索引值时出现问题