TestLoop is a library that provides an automated execution and reloading of a cabal's test-suites whenever a haskell file is modified.
NOTE: To get started quickly check the project in the examples folder.
Once you have a test suite using a haskell test library (hspec, HUnit, test-framework, etc), write the following in your project's cabal file:
test-suite tests
type: exitcode-stdio-1.0
hs-source-dirs: src, test
main-is: TestSuite.hs
-- configuration for your testsuite here
executable testloop
main-is: TestLoop.hs
-- all your project sources (+tests) directores
hs-source-dirs: src, test
build-depends:
base == 4.6.*,
-- your project + test dependencies
testloop == 0.1.*
And in the test/TestLoop.hs
file:
module Main where
import System.TestLoop (setupTestLoop)
main :: IO ()
main = setupTestLoop
Install and run your TestLoop, as soon as you start editing your source files it will automatically compile and run your tests, instant feedback FTW.
Note: Currently TestLoop expects you to have your tests in a test
folder