diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -7,6 +7,24 @@
 *de facto* standard Haskell versioning scheme.
 
 
+0.7.1.0
+-------
+
+- **Date**    2017-11-30
+- **Git tag** [hunit-dejafu-0.7.1.0][]
+- **Hackage** https://hackage.haskell.org/package/hunit-dejafu-0.7.1.0
+
+### Test.HUnit.DejaFu
+
+- A new `testPropertyFor` function for checking refinement properties with a custom number of seed
+  values and variable assignments.
+
+[hunit-dejafu-0.7.1.0]: https://github.com/barrucadu/dejafu/releases/tag/hunit-dejafu-0.7.1.0
+
+
+---------------------------------------------------------------------------------------------------
+
+
 0.7.0.2
 -------
 
diff --git a/Test/HUnit/DejaFu.hs b/Test/HUnit/DejaFu.hs
--- a/Test/HUnit/DejaFu.hs
+++ b/Test/HUnit/DejaFu.hs
@@ -1,11 +1,12 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE TypeSynonymInstances #-}
 
-#if __GLASGOW_HASKELL__ >= 800
+#if MIN_TOOL_VERSION_ghc(8,0,0)
 -- Impredicative polymorphism checks got stronger in GHC 8, breaking
 -- the use of 'unsafeCoerce' below.
 {-# LANGUAGE ImpredicativeTypes #-}
@@ -17,7 +18,7 @@
 -- License     : MIT
 -- Maintainer  : Michael Walker <mike@barrucadu.co.uk>
 -- Stability   : stable
--- Portability : CPP, FlexibleContexts, FlexibleInstances, ImpredicativeTypes, RankNTypes, ScopedTypeVariables, TypeSynonymInstances
+-- Portability : CPP, FlexibleContexts, FlexibleInstances, ImpredicativeTypes, LambdaCase, RankNTypes, ScopedTypeVariables, TypeSynonymInstances
 --
 -- This module allows using Deja Fu predicates with HUnit to test the
 -- behaviour of concurrent systems.
@@ -74,6 +75,7 @@
 
   -- * Refinement property testing
   , testProperty
+  , testPropertyFor
 
   -- ** Re-exports
   , R.Sig(..)
@@ -139,7 +141,7 @@
     assertString . showErr $ assertableP traces
 
 assertableP :: Predicate (Either HUnitFailure ())
-assertableP = alwaysTrue $ \r -> case r of
+assertableP = alwaysTrue $ \case
   Right (Left HUnitFailure {}) -> False
   _ -> True
 
@@ -325,9 +327,27 @@
   -> p
   -- ^ The property to check.
   -> Test
-testProperty = testprop
+testProperty = testPropertyFor 10 100
 
+-- | Like 'testProperty', but takes a number of cases to check.
+--
+-- The maximum number of cases tried by @testPropertyFor n m@ will be
+-- @n * m@.
+--
+-- @since unreleased
+testPropertyFor :: (R.Testable p, R.Listable (R.X p), Eq (R.X p), Show (R.X p), Show (R.O p))
+  => Int
+  -- ^ The number of seed values to try.
+  -> Int
+  -- ^ The number of variable assignments per seed value to try.
+  -> String
+  -- ^ The name of the test.
+  -> p
+  -- ^ The property to check.
+  -> Test
+testPropertyFor = testprop
 
+
 --------------------------------------------------------------------------------
 -- HUnit integration
 
@@ -372,9 +392,9 @@
 
 -- | Produce a HUnit 'Test' from a Deja Fu refinement property test.
 testprop :: (R.Testable p, R.Listable (R.X p), Eq (R.X p), Show (R.X p), Show (R.O p))
-  => String -> p -> Test
-testprop name p = TestLabel name . TestCase $ do
-  ce <- R.check' p
+  => Int -> Int -> String -> p -> Test
+testprop sn vn name p = TestLabel name . TestCase $ do
+  ce <- R.checkFor sn vn p
   case ce of
     Just c -> assertFailure . init $ unlines
       [ "*** Failure: " ++
diff --git a/hunit-dejafu.cabal b/hunit-dejafu.cabal
--- a/hunit-dejafu.cabal
+++ b/hunit-dejafu.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                hunit-dejafu
-version:             0.7.0.2
+version:             0.7.1.0
 synopsis:            Deja Fu support for the HUnit test framework.
 
 description:
@@ -30,7 +30,7 @@
 source-repository this
   type:     git
   location: https://github.com/barrucadu/dejafu.git
-  tag:      hunit-dejafu-0.7.0.2
+  tag:      hunit-dejafu-0.7.1.0
 
 library
   exposed-modules:     Test.HUnit.DejaFu
