我想使用Control.Exception.Assert来获取自定义错误消息。
我想用HSpec测试这些。
在repl中我可以看到:
λ: import Control.Exception
λ: import Control.Exception.Assert
λ: (byEq assert "Bool" True True ())
()
λ: (byEq assert "Bool" False True ())
*** Exception: <interactive>:6:7-12: Assertion failed "Bool", False ≠ True
如何测试异常和消息是否正确?换句话说,对于byEq
抛出异常的情况,我想测试异常类型和异常消息都是预期的。
类似的东西:
main = hspec $ do
describe "Assertions" $ do
it "assert" $ do
evaluate (byEq assert "Bool" False True ()) `shouldThrow` ????