Property Based Testing
Introduced in Haskell via the QuickCheck framework.
JS/TS library : yarn add fast-check -dev
Difference with typical test by example:
// test by example
it('should...', () => {
// given
// example input
// when
// function call
// then
// expect example output
})
// property based testing
it('should...', () => {
// given
// input property
// when
// function call
// then
// expect output property
})
For example
GIVEN any array of numbers, WHEN
sort
is called, THEN the output array has the same length
The framework generates a large number of inputs and checks the output for given condition.
CC BY-NC 4.0 2024 © Shu Ding.