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` ????