HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Package0.2.1.3TestTesting

microspec

Tiny QuickCheck test library with minimal dependencies

Modules

1 module
  • Test.Microspec231Tests can be structured as nested it / describe statements E.g. microspec $ do

Description

A tiny (1 module, <500 lines) property-based (and unit) testing library with minimal dependencies.

Instead of reinventing the wheel (https://xkcd.com/927), we use a RSpec/HSpec-like DSL and run tests with QuickCheck.

For many use-cases, microspec is a drop-in replacement for hspec.

import Test.Microspec main :: IO () main = microspec $ do describe "replicate" $ do it "doubles with 2" $ replicate 2 'x' === "xx" it "creates a list of the right size" $ \(Positive n) -> length (replicate n 'x') === n describe "reverse" $ do it "reverse . reverse === id" $ \l -> reverse (reverse l) === (l :: [Int]) describe "tail" $ it "length is -1" $ \(NonEmpty l) -> length (tail l :: [Int]) === length l - 1 describe "solve the halting problem" $ pending

Depends on

3 packages

Used by in this set · 0

Nothing in this set depends on it.