繁体   English   中英

是否可以在HUnit中断言错误情况?

[英]Is it possible to assert an error case in HUnit?

如果我有一个函数会导致某个输入出现错误,是否可以编写一个测试来验证该输入是否发生了错误?

我在HUnit中找不到此“断言错误”功能。 它可以在HUnit或其他测试包中使用吗?

您可以使用标准异常处理来捕获错误并断言是否不会发生:

errored <- catch (somethingThatErrors >> pure False) handler
if errored then
    assertFailure "Did not catch expected error"
else
    pure ()
where
   handler :: ErrorCall -> IO Bool
   handler _ = pure True

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM