| 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 Source #
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 Source #
Constructors
| NoReason | |
| Reason String | |
| ExpectedButGot (Maybe String) String String | |
| Error (Maybe String) SomeException |
Instances
| Show FailureReason | |
Defined in Test.Hspec.Core.Formatters.V1.Monad | |
Accessing the runner state
getSuccessCount :: FormatM Int Source #
Get the number of successful examples encountered so far.
getPendingCount :: FormatM Int Source #
Get the number of pending examples encountered so far.
getFailCount :: FormatM Int Source #
Get the number of failed examples encountered so far.
getTotalCount :: FormatM Int Source #
Get the total number of examples encountered so far.
data FailureRecord Source #
Constructors
| FailureRecord | |
getFailMessages :: FormatM [FailureRecord] Source #
Get the list of accumulated failure messages.
Instances
| PrintfArg Seconds | |
Defined in Test.Hspec.Core.Clock Methods formatArg :: Seconds -> FieldFormatter Source # parseFormat :: Seconds -> ModifierParser Source # | |
| Num Seconds | |
Defined in Test.Hspec.Core.Clock | |
| Fractional Seconds | |
| Show Seconds | |
| Eq Seconds | |
| Ord Seconds | |
Defined in Test.Hspec.Core.Clock | |
getCPUTime :: FormatM (Maybe Seconds) Source #
Get the used CPU time since the test run has been started.
getRealTime :: FormatM Seconds Source #
Get the passed real time since the test run has been started.
Appending to the generated report
writeTransient :: String -> FormatM () Source #
Dealing with colors
withInfoColor :: FormatM a -> FormatM a Source #
Set output color to cyan, run given action, and finally restore the default color.
withSuccessColor :: FormatM a -> FormatM a Source #
Set output color to green, run given action, and finally restore the default color.
withPendingColor :: FormatM a -> FormatM a Source #
Set output color to yellow, run given action, and finally restore the default color.
withFailColor :: FormatM a -> FormatM a Source #
Set output color to red, run given action, and finally restore the default color.
extraChunk :: String -> FormatM () Source #
Output given chunk in red.
missingChunk :: String -> FormatM () Source #
Output given chunk in green.
Helpers
formatException :: SomeException -> String Source #
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 () Source #
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.