| Stability | deprecated |
|---|---|
| Safe Haskell | None |
| Language | Haskell2010 |
Test.Hspec.Api.Formatters.V1
Description
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.
Constructors
| Formatter | |
Fields
| |
data FailureReason #
Constructors
| NoReason | |
| Reason String | |
| ExpectedButGot (Maybe String) String String | |
| Error (Maybe String) SomeException |
Instances
| Show FailureReason | |
Defined in Test.Hspec.Core.Formatters.V1.Monad Methods 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 #
Constructors
| 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 | |
| Eq Seconds | |
| Ord Seconds | |
Defined in Test.Hspec.Core.Clock | |
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 IOExceptions the IOErrorType is included, as well.
Since: hspec-core-2.0.0
Re-exports
Location is used to represent source locations.
Constructors
| Location | |
Fields
| |
type SpecWith a = SpecM a () #
A represents a test or group of tests that require an SpecWith aa
value to run.
In the common case, a Spec is a which requires SpecWith ()() and
can thus be executed with hspec.
To supply an argument to SpecWith tests to turn them into Spec, use
functions from Test.Hspec.Core.Hooks such as
around, before,
mapSubject and similar.
Values of this type are created by it,
describe and similar.
modifyConfig :: (Config -> Config) -> SpecWith a #
Since: hspec-core-2.10.0