8

私はquickCheckのファンなので、たくさん持っています

prop_something_something = ...

私のプログラムを通して。

便宜上、それらすべてを簡単に実行するために、定義します

runchecks = do
    quickCheck prop_something_something
    quickCheck prop_something_different

しかし、生成する良い方法はありrunchecksますか?

TL;DR: ファイル内のすべてのクイック チェックを簡単に実行したいと考えています。1 つの方法は、実行可能なテストに test_ などのプレフィックスを付けることだと思いますが、それはハックすぎるかもしれません。

4

2 に答える 2

8

追加の注意: この機能は、QuickCheck 2 にも標準で存在します。関数 を参照してquickCheckAllください。名前が で始まるモジュール内のすべての関数をテストします。Test.QuickCheck.AllTemplateHaskellquickCheckAllprop_

于 2012-04-27T05:20:54.033 に答える
7

test-framework-thパッケージでこれを行うことができます。ただ行う:

import Test.Framework.TH
import Test.Framework.Providers.QuickCheck2
runchecks = $(defaultMainGenerator)

これは、test-frameworkテストの実行方法を使用します。つまり、テストを次々に実行するだけで得られる情報よりもわずかに多くの情報が得られます。これは、多くの場合、良いことです。

TemplateHaskellこれを機能させるには、明らかに有効にする必要があります。Default-extensions: TemplateHaskellCabalファイルに追加するか{-# LANGUAGE TemplateHaskell #-}、ファイルの先頭に追加します。

于 2012-04-26T18:27:18.497 に答える