Stability | provisional |
---|---|
Safe Haskell | None |
- hspec :: Spec -> IO ()
- hspecResult :: Spec -> IO Summary
- hspecWith :: Config -> Spec -> IO Summary
- data Summary = Summary {}
- data Config = Config {
- configDryRun :: Bool
- configPrintCpuTime :: Bool
- configFastFail :: Bool
- configFilterPredicate :: Maybe (Path -> Bool)
- configQuickCheckSeed :: Maybe Integer
- configQuickCheckMaxSuccess :: Maybe Int
- configQuickCheckMaxDiscardRatio :: Maybe Int
- configQuickCheckMaxSize :: Maybe Int
- configSmallCheckDepth :: Int
- configColorMode :: ColorMode
- configFormatter :: Formatter
- configHtmlOutput :: Bool
- configHandle :: Either Handle FilePath
- data ColorMode
- = ColorAuto
- | ColorNever
- | ColorAlways
- type Path = ([String], String)
- defaultConfig :: Config
- configAddFilter :: (Path -> Bool) -> Config -> Config
- hspecWithFormatter :: IsFormatter a => a -> Spec -> IO ()
Running a spec
Run given spec and write a report to stdout
.
Exit with exitFailure
if at least one spec item fails.
hspecResult :: Spec -> IO SummarySource
Run given spec and returns a summary of the test run.
Note: hspecResult
does not exit with exitFailure
on failing spec
items. If you need this, you have to check the Summary
yourself and act
accordingly.
hspecWith :: Config -> Spec -> IO SummarySource
Run given spec with custom options and returns a summary of the test run.
Note: hspecWith
does not exit with exitFailure
on failing spec
items. If you need this, you have to check the Summary
yourself and act
accordingly.
Types
Summary of a test run.
Config | |
|
type Path = ([String], String)Source
A tuple that represents the location of an example within a spec.
It consists of a list of group descriptions and a requirement description.
configAddFilter :: (Path -> Bool) -> Config -> ConfigSource
Add a filter predicate to config. If there is already a filter predicate,
then combine them with ||
.
Internals
hspecWithFormatter :: IsFormatter a => a -> Spec -> IO ()Source
This function is used by hspec-discover
. It is not part of the public
API and may change at any time.