在我的项目中,我有几个QuickCheck属性,其中大部分是我使用forAllProperties收集的,在Test.QuickCheck.All中定义。我试图并行运行我的所有属性,这很麻烦:在运行结束时,我得到了在终端打印的输出,并且反例和属性名称经常被分散,以致难以将属性与其计数器匹配例子。
我看到库pqc的目的是并行运行属性,但它不提供forAllProperties的替代,也没有提供将forAllProperties与并行测试驱动程序组合的方法。
感觉就像我需要的是forAllProperties将属性名称传递给它作为参数获取的函数。
我还研究了逐个线程重定向stdout,首先使用system-posix-redirect(这不是线程安全的),然后研究Test.QuickCheck.State,尤其是终端字段。后者并没有成功,因为我没有找到重写终端领域的方法。
有没有办法让我以某种方式输出反例和属性名,而无需复制/粘贴Test.QuickCheck.All模块并进行我需要的更改?