1
说,我的数据类型:快速检查从静态排列组合列表生成
data A = A1 | A2 | A3
data B = B1 A | B2 A
我可以很容易地生成的我想测试所有可能的排列B的所有可能性的列表,但我仍然想使用QuickCheck来将它应用的列表中的所有元素吐出。在这种情况下,我想测试一个规则适用于所有可能性,所以我不想生成随机数据。
假设我已经有了列表中的所有可能性,怎样才能让QuickCheck输出列表中的每个元素?每次给出相同的确切值。
如果您可以自己轻松生成所有排列,为什么不在单元测试中完全不调用QuickCheck呢?如果您生成自己的案例,QuickCheck不会为您做任何事情。 –
我所有的测试都使用QuickCheck。我认为所有数据都来自QuickCheck,而不是在特殊情况下做一些笨重的事情会更好。如果QuickCheck可以逐个将该列表提供给该检查,那么我认为这更清洁。 – kurzweil4