Skip to content

Commit 1946576

Browse files
Include seed for failing tests (#18)
1 parent 389ba69 commit 1946576

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

src/Test/Spec/QuickCheck.purs

+9-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Effect.Class (liftEffect)
1010
import Data.Foldable (intercalate)
1111
import Data.List (mapMaybe, length)
1212
import Data.Maybe (Maybe(..))
13+
import Data.Tuple (Tuple(..))
1314
import Effect.Aff (Aff, error, throwError)
1415
import Test.QuickCheck as QC
1516

@@ -30,9 +31,13 @@ quickCheck' n prop = do
3031
seed <- liftEffect QC.randomSeed
3132
quickCheckPure seed n prop
3233

33-
getErrorMessage :: QC.Result -> Maybe String
34-
getErrorMessage (QC.Failed msg) = Just msg
35-
getErrorMessage _ = Nothing
34+
getErrorMessage :: Tuple QC.Seed QC.Result -> Maybe String
35+
getErrorMessage (Tuple seed result) =
36+
case result of
37+
QC.Success -> Nothing
38+
QC.Failed msg ->
39+
Just $
40+
"Test (seed " <> show (QC.unSeed seed) <> ") failed: \n" <> msg
3641

3742
-- | Runs a Testable with a given seed and number of inputs.
3843
quickCheckPure :: forall p.
@@ -42,7 +47,7 @@ quickCheckPure :: forall p.
4247
p ->
4348
Aff Unit
4449
quickCheckPure seed n prop = do
45-
let results = QC.quickCheckPure seed n prop
50+
let results = QC.quickCheckPure' seed n prop
4651
let msgs = mapMaybe getErrorMessage results
4752

4853
if length msgs > 0

0 commit comments

Comments
 (0)