hspec-0.6.0: Behavior Driven Development for Haskell

Test.Hspec.Runner

Description

This module contains the runners that take a set of specs, evaluate their examples, and report to a given handle.

Synopsis

Documentation

hspec :: IO Specs -> IO [Spec]Source

Create a document of the given specs and write it to stdout.

hspecX :: IO Specs -> IO aSource

Use in place of hspec to also exit the program with an ExitCode

hspecB :: IO Specs -> IO BoolSource

Use in place of hspec to also give a Bool success indication

hHspec :: Handle -> IO Specs -> IO [Spec]Source

Create a document of the given specs and write it to the given handle.

 writeReport filename specs = withFile filename WriteMode (\ h -> hHspec h specs)

hHspecWithFormat :: Formatter -> Handle -> IO Specs -> IO [Spec]Source

Create a document of the given specs and write it to the given handle. THIS IS LIKELY TO CHANGE

describeSource

Arguments

:: String

The name of what is being described, usually a function or type.

-> [IO (String, Result)]

A list of behaviors and examples, created by a list of it.

-> IO [IO Spec] 

Create a set of specifications for a specific type being described. Once you know what you want specs for, use this.

 describe "abs" [
   it "returns a positive number given a negative number"
     (abs (-1) == 1)
   ]

itSource

Arguments

:: SpecVerifier a 
=> String

A description of this behavior.

-> a

An example for this behavior.

-> IO (String, Result) 

Create a description and example of a behavior, a list of these is used by describe. Once you know what you want to specify, use this.

 describe "closeEnough" [
   it "is true if two numbers are almost the same"
     (1.001 `closeEnough` 1.002),

   it "is false if two numbers are not almost the same"
     (not $ 1.001 `closeEnough` 1.003)
   ]