私は最近、私のプロジェクトでいくつかの部分に STM を使い始めましたが、それをテストする方法を理解するのに苦労しています。
これらの関数には IO がなく、QuickCheck プロパティを記述してテストできることを望んでいましたが、「アトミックに」(STM a -> IO a) が STM モナドから何かを取得する唯一の方法のようです。
これは可能ですか、それとも代わりに HUnit でテストを作成する必要がありますか?
私は最近、私のプロジェクトでいくつかの部分に STM を使い始めましたが、それをテストする方法を理解するのに苦労しています。
これらの関数には IO がなく、QuickCheck プロパティを記述してテストできることを望んでいましたが、「アトミックに」(STM a -> IO a) が STM モナドから何かを取得する唯一の方法のようです。
これは可能ですか、それとも代わりに HUnit でテストを作成する必要がありますか?
クイックチェックで IO アクションをテストできます: http://hackage.haskell.org/packages/archive/QuickCheck/2.4.1.1/doc/html/Test-QuickCheck-Monadic.html