0

我想使用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` ????
4

0 回答 0