
It is a useful convention to have one spec file for each source file. That way it is straightforward to find the corresponding spec for a given piece of code. But it requires error prone, and neither challenging nor interesting boiler plate code. So it should be automated. Hspec provides a solution for that. It makes creative use of GHC's support for custom preprocessors. The developer only has to create a test driver that contains a single line.
A complete example is at https://github.com/hspec/hspec-example.