Stability | deprecated |
---|---|
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This module contains formatters that can be used with hspecWith
:
import Test.Hspec import Test.Hspec.Api.Formatters.V1 main :: IO () main = hspecWith (useFormatter ("my-formatter", formatter) defaultConfig) spec formatter :: Formatter formatter = ... spec :: Spec spec = ...
Synopsis
- useFormatter :: (String, Formatter) -> Config -> Config
- formatterToFormat :: Formatter -> FormatConfig -> IO Format
- silent :: Formatter
- checks :: Formatter
- specdoc :: Formatter
- progress :: Formatter
- failed_examples :: Formatter
- data Formatter = Formatter {
- headerFormatter :: FormatM ()
- exampleGroupStarted :: [String] -> String -> FormatM ()
- exampleGroupDone :: FormatM ()
- exampleStarted :: Path -> FormatM ()
- exampleProgress :: Path -> Progress -> FormatM ()
- exampleSucceeded :: Path -> String -> FormatM ()
- exampleFailed :: Path -> String -> FailureReason -> FormatM ()
- examplePending :: Path -> String -> Maybe String -> FormatM ()
- failedFormatter :: FormatM ()
- footerFormatter :: FormatM ()
- data FailureReason
- type FormatM = Free FormatF
- getSuccessCount :: FormatM Int
- getPendingCount :: FormatM Int
- getFailCount :: FormatM Int
- getTotalCount :: FormatM Int
- data FailureRecord = FailureRecord {}
- getFailMessages :: FormatM [FailureRecord]
- usedSeed :: FormatM Integer
- newtype Seconds = Seconds Double
- getCPUTime :: FormatM (Maybe Seconds)
- getRealTime :: FormatM Seconds
- write :: String -> FormatM ()
- writeLine :: String -> FormatM ()
- writeTransient :: String -> FormatM ()
- withInfoColor :: FormatM a -> FormatM a
- withSuccessColor :: FormatM a -> FormatM a
- withPendingColor :: FormatM a -> FormatM a
- withFailColor :: FormatM a -> FormatM a
- useDiff :: FormatM Bool
- extraChunk :: String -> FormatM ()
- missingChunk :: String -> FormatM ()
- formatException :: SomeException -> String
- data Location = Location {}
- type Progress = (Int, Int)
- type SpecWith a = SpecM a ()
- data Config
- modifyConfig :: (Config -> Config) -> SpecWith a
Register a formatter
useFormatter :: (String, Formatter) -> Config -> Config Source #
Make a formatter available for use with --format
and use it by default.
formatterToFormat :: Formatter -> FormatConfig -> IO Format #
Formatters
Implementing a custom Formatter
A formatter is a set of actions. Each action is evaluated when a certain situation is encountered during a test run.
Actions live in the FormatM
monad. It provides access to the runner state
and primitives for appending to the generated report.
Formatter | |
|
data FailureReason #
NoReason | |
Reason String | |
ExpectedButGot (Maybe String) String String | |
Error (Maybe String) SomeException |
Instances
Show FailureReason | |
Defined in Test.Hspec.Core.Formatters.V1.Monad showsPrec :: Int -> FailureReason -> ShowS # show :: FailureReason -> String # showList :: [FailureReason] -> ShowS # |
Accessing the runner state
getSuccessCount :: FormatM Int #
Get the number of successful examples encountered so far.
getPendingCount :: FormatM Int #
Get the number of pending examples encountered so far.
getFailCount :: FormatM Int #
Get the number of failed examples encountered so far.
getTotalCount :: FormatM Int #
Get the total number of examples encountered so far.
data FailureRecord #
getFailMessages :: FormatM [FailureRecord] #
Get the list of accumulated failure messages.
Instances
Num Seconds | |
Fractional Seconds | |
Show Seconds | |
PrintfArg Seconds | |
Defined in Test.Hspec.Core.Clock formatArg :: Seconds -> FieldFormatter # parseFormat :: Seconds -> ModifierParser # | |
Eq Seconds | |
Ord Seconds | |
getCPUTime :: FormatM (Maybe Seconds) #
Get the used CPU time since the test run has been started.
getRealTime :: FormatM Seconds #
Get the passed real time since the test run has been started.
Appending to the generated report
writeTransient :: String -> FormatM () #
Dealing with colors
withInfoColor :: FormatM a -> FormatM a #
Set output color to cyan, run given action, and finally restore the default color.
withSuccessColor :: FormatM a -> FormatM a #
Set output color to green, run given action, and finally restore the default color.
withPendingColor :: FormatM a -> FormatM a #
Set output color to yellow, run given action, and finally restore the default color.
withFailColor :: FormatM a -> FormatM a #
Set output color to red, run given action, and finally restore the default color.
extraChunk :: String -> FormatM () #
Output given chunk in red.
missingChunk :: String -> FormatM () #
Output given chunk in green.
Helpers
formatException :: SomeException -> String #
The function formatException
converts an exception to a string.
This is different from show
. The type of the exception is included, e.g.:
>>>
formatException (toException DivideByZero)
"ArithException\ndivide by zero"
For IOException
s the IOErrorType
is included, as well.
Since: hspec-core-2.0.0
Re-exports
Location
is used to represent source locations.
Location | |
|
modifyConfig :: (Config -> Config) -> SpecWith a #
Since: hspec-core-2.10.0