diff --git a/hspec-dirstream.cabal b/hspec-dirstream.cabal
--- a/hspec-dirstream.cabal
+++ b/hspec-dirstream.cabal
@@ -1,5 +1,5 @@
 name:                hspec-dirstream
-version:             0.3.0.0
+version:             0.4.0.0
 synopsis:            Helper functions to simplify adding integration tests.
 description:         This package uses [hspec](http://hackage.haskell.org/package/hspec) and [dirstream](http://hackage.haskell.org/package/dirstream) to provide easy-to-use functions for integration tests.
 homepage:            https://hub.darcs.net/vmchale/hspec-dirstream
diff --git a/src/Test/Hspec/Dirstream.hs b/src/Test/Hspec/Dirstream.hs
--- a/src/Test/Hspec/Dirstream.hs
+++ b/src/Test/Hspec/Dirstream.hs
@@ -10,6 +10,7 @@
     , testFilesIO
     , testFilesErr
     , testFilesPredicate
+    , testPaths
     -- * Helper functions for dealing with file extensions
     , F.extension
     , Test.Hspec.Dirstream.hasExtension
@@ -67,6 +68,9 @@
 testFilesIO :: FilePath -> (F.FilePath -> Bool) -> (String -> IO String) -> SpecWith ()
 testFilesIO dir p f = runSafeT $ runEffect $ paths dir p >-> mapS (testFileIO f)
 
+testPaths :: FilePath -> (F.FilePath -> Bool) -> (FilePath -> IO ()) -> SpecWith ()
+testPaths dir p f = runSafeT $ runEffect $ paths dir p >-> mapS (testPathWorks f)
+
 -- | This function checks that each file returns a value satisfying the
 -- predicate.
 testFilesPredicate :: (Show a, Eq a)
@@ -76,6 +80,11 @@
                    -> (a -> Bool) -- ^ Predicate to check the result
                    -> SpecWith ()
 testFilesPredicate dir p f pr = runSafeT $ runEffect $ paths dir p >-> mapS (testFilePredicate f pr)
+
+-- | Run an action on a file path.
+testPathWorks :: (FilePath -> IO ()) -> FilePath -> SpecWith ()
+testPathWorks fun path = it path $
+    fun path >>= (`shouldBe` ())
 
 testFileIO :: (String -> IO String) -> String -> SpecWith ()
 testFileIO fun f = it f $ do
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -1,9 +1,10 @@
 {-# LANGUAGE CPP               #-}
 {-# LANGUAGE OverloadedStrings #-}
 
-#if __GLASGOW_HASKELL__ <= 784
+#if __GLASGOW_HASKELL__ <= 708
 import           Control.Applicative
 #endif
+import           Control.Monad
 import           Test.Hspec
 import           Test.Hspec.Dirstream
 
@@ -15,3 +16,5 @@
             testFilesIO "test/data" (hasExtension "hs") (pure . tail)
     describe "testFilesPredicate" $
             testFilesPredicate "test/data" (hasExtension "hs") tail ((>= 0) . length)
+    describe "testPaths" $
+            testPaths "test/data" (hasExtension "hs") (void . readFile)
