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