Skip to content
0:00 / 0:00

#quickcheck-lockstep#property-basedtesting#haskell

State-based testing with quickcheck-lockstep (Haskell Unfolder #44)

Well-Typed

3.4K subscribers • 14 videos on Hallway

YouTube
  • Recommended by 1 person: 1 in engineering communities.
  • Linked in the descriptionwell-typed/unfolder

Intermediate. Assumes working knowledge.

1.1K views1 year ago1 recommendation

Tools and practiceProgramming languagesTestingHaskell

How to use the quickcheck-lockstep library to perform state-based property testing on stateful Haskell APIs.

Many Haskell programmers will be familiar with property based testing of pure functions (for those who are not, various episodes of the Haskell Unfolder have discussed this: #4, #21, #38 and #40). Property based testing for stateful systems ("IO code") is however much less well-known, which is a pity as it is just as useful! In this episode we will demonstrate how we can use `quickcheck-lockstep` to verify the responses we get from a simple stateful API; as we will see, all of the lessons from property based testing for pure functions can be applied in this stateful setting also. Links: * Repository with the code: github.com/well-typed/unfolder * Link to the EurekaPROM chip (not sponsored): eurekasound.com/eurekaprom (I use the chip in IO mode: eurekasound.com/eurekaprom/io)

Why it's here

1 person recommends this

u/kosmikusin r/haskell • Recommends

State-based testing with quickcheck-lockstep (Haskell Unfolder #44) Will be streamed live today 2025-05-14, 1830 UTC. Abstract: *Many Haskell programmers will be familiar with property based testing of pure functions (for those who are not, various episodes of the Haskell Unfolder have discussed this: #4, #21, #38 and #40). Property based testing for stateful systems (“IO code”) is however much less well-known, which is a pity as it is just as useful! In this episode we will demonstrate how we can use* `quickcheck-lockstep` *to verify the responses we get from a simple stateful API; as we will see, all of the lessons from property based testing for pure functions can be applied in this s…