diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for wai-extra
 
+## 3.0.31
+
+* Undo WaiTestFailure change in previous release
+
 ## 3.0.30
 
 * `Network.Wai.Test`: Add support source locations to assertion primitives [#812](https://github.com/yesodweb/wai/pull/812)
diff --git a/Network/Wai/Test.hs b/Network/Wai/Test.hs
--- a/Network/Wai/Test.hs
+++ b/Network/Wai/Test.hs
@@ -29,6 +29,7 @@
     , assertClientCookieExists
     , assertNoClientCookieExists
     , assertClientCookieValue
+    , WaiTestFailure (..)
     ) where
 
 #if __GLASGOW_HASKELL__ < 710
@@ -61,7 +62,6 @@
 import qualified Data.Text.Encoding as TE
 import Data.IORef
 import Data.Time.Clock (getCurrentTime)
-import qualified Test.HUnit as HUnit
 import Data.CallStack (HasCallStack)
 
 -- |
@@ -214,7 +214,11 @@
 assertString s = unless (null s) $ assertFailure s
 
 assertFailure :: HasCallStack => String -> Session ()
-assertFailure = liftIO . HUnit.assertFailure
+assertFailure msg = msg `deepseq` liftIO (throwIO (WaiTestFailure msg))
+
+data WaiTestFailure = WaiTestFailure String
+    deriving (Show, Eq, Typeable)
+instance Exception WaiTestFailure
 
 assertContentType :: HasCallStack => ByteString -> SResponse -> Session ()
 assertContentType ct SResponse{simpleHeaders = h} =
diff --git a/wai-extra.cabal b/wai-extra.cabal
--- a/wai-extra.cabal
+++ b/wai-extra.cabal
@@ -1,5 +1,5 @@
 Name:                wai-extra
-Version:             3.0.30
+Version:             3.0.31
 Synopsis:            Provides some basic WAI handlers and middleware.
 description:
   Provides basic WAI handler and middleware functionality:
@@ -116,7 +116,6 @@
                    , aeson
                    , iproute
                    , http2
-                   , HUnit
                    , call-stack
 
   if os(windows)
