diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,1 +1,7 @@
-__1.4.1.1__ Upgrade to hspec 2
+## 1.4.2
+
+Provide `Example` instance for `YesodExample`.
+
+## 1.4.1.1
+
+Upgrade to hspec 2
diff --git a/Yesod/Test.hs b/Yesod/Test.hs
--- a/Yesod/Test.hs
+++ b/Yesod/Test.hs
@@ -2,6 +2,8 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE TypeFamilies #-}
 {-|
 Yesod.Test is a pragmatic framework for testing web applications built
 using wai and persistent.
@@ -695,3 +697,20 @@
 -- Yes, just a shortcut
 failure :: (MonadIO a) => T.Text -> a b
 failure reason = (liftIO $ HUnit.assertFailure $ T.unpack reason) >> error ""
+
+instance YesodDispatch site => Hspec.Example (ST.StateT (YesodExampleData site) IO a) where
+    type Arg (ST.StateT (YesodExampleData site) IO a) = site
+
+    evaluateExample example params action =
+        Hspec.evaluateExample
+            (action $ \site -> do
+                app <- toWaiAppPlain site
+                _ <- ST.evalStateT example YesodExampleData
+                    { yedApp = app
+                    , yedSite = site
+                    , yedCookies = M.empty
+                    , yedResponse = Nothing
+                    }
+                return ())
+            params
+            ($ ())
diff --git a/yesod-test.cabal b/yesod-test.cabal
--- a/yesod-test.cabal
+++ b/yesod-test.cabal
@@ -1,5 +1,5 @@
 name:               yesod-test
-version:            1.4.1.1
+version:            1.4.2
 license:            MIT
 license-file:       LICENSE
 author:             Nubis <nubis@woobiz.com.ar>
