Haskell这里的初学者。Haskell,IO,monads,quickcheck
我有一个函数和一堆属性来测试它与我使用quickcheck写的。当我在解释器中单独运行这些属性时,这些属性可以正常工作,并且函数可以正常工作。
但是,手动快速检查解释器中的每个属性(quickCheck prop_this,quickCheck prop_that)都很无聊,单调且耗时。我想将所有这些都放在一个程序中,并让该程序运行所有的快速检查。这是我卡住的地方。
该方案的基本骨架如下:
imports...
function_which_i_want_to_quickcheck
prop_1
prop_2
etc...
main = do
quickCheck prop_1
quickCheck prop_2
etc...
上面的一切主要是罚款,我相信,因为它所有编译并没有它的工作原理。主要是我需要帮助。我尝试了几个变种,即没有做,使用do,使用'x < - quickCheck y'分配结果,从内部移除quickCheck并将其粘在外部等等,但不能获得任何东西工作。
任何人都可以协助上述吗?
如果我想将main内的所有内容移动到另一个(正常,非主)函数,我该怎么做?
编辑:我很欣赏的测试框架的建议,但我要问这里是微不足道的任何其他语言做的,不应该需要一个测试框架。为什么不是Haskell?
此外,这在解释器内正确工作。我无法在主内部工作。任何想法为什么?
quickCheck prop_1 >> quickCheck prop_2 >> quickCheck prop_3
谢谢。
如果您的所有属性都属于同一类型,那么您可以将它们放在列表中并执行'mapM_'。 – Sibi
诊断代码的问题并不是很容易,因为无法看到有人看不到的错误。哈斯克勒拥有超级大国,但有限制。 –
你有你需要诊断的所有信息。阅读这个问题。我说过主要工作的所有功能和代码。至于main,它是一系列“quickcheck blah”。你是说你需要真正的功能名称,或者你无法诊断? – user3355020