hedgehog
smallcheck
Our great sponsors
hedgehog | smallcheck | |
---|---|---|
3 | 3 | |
660 | 133 | |
0.2% | - | |
5.2 | 4.2 | |
10 days ago | 11 months ago | |
Haskell | Haskell | |
BSD 3-clause "New" or "Revised" License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hedgehog
-
Monthly Hask Anything (May 2022)
I've had some PRs open on hedgehog for one and two months respectively. It looks like the maintainer isn't currently very active, which is fair enough. This isn't about criticizing him, and I'm not trying to take over the repo.
-
Monthly Hask Anything (February 2022)
Testing libraries like hedgehog often run tests in parallel, so you may find related issues to work on.
-
Mutation Testing
Haskell has QuickCheck and Hedgehog, and dotnet has both as well. F# is favored, but there's C# interop.
smallcheck
-
Generating Well-Typed Terms that are not "Useless" [pdf]
Using laziness to avoid generating parts of an expression until it's needed is a really nice idea. The LazySmallCheck package[1] took this approach, but was limited in the types of data it could produce (e.g. it couldn't generate functions). This was extended by LazySmallCheck2012[2], but that seems to be unmaintained and doesn't work with more recent GHC versions.
(Note that these are named in reference to SmallCheck[3], which takes the approach of enumerating concrete values in order of "size"; as an alternative to the more widely-used QuickCheck[4], which generates concrete values at random, and tries to "shrink" those which trigger a failure)
[1] https://hackage.haskell.org/package/lazysmallcheck
[2] https://github.com/UoYCS-plasma/LazySmallCheck2012
-
[ANN] LeanCheck v1.0.0 – Enumerative Property Testing
Could you compare with https://hackage.haskell.org/package/smallcheck in particular the smallcheck ability "to verify properties for all test cases up to some depth"?
What are some alternatives?
QuickCheck - Automatic testing of Haskell programs.
quickcheck-arbitrary-adt - Typeclass for generating a list of each instance of a sum type's constructors
FsCheck - Random Testing for .NET
quickcheck-instances - Instances for QuickCheck classes
leancheck - enumerative property-based testing for Haskell
tasty - Modern and extensible testing framework for Haskell
ghc-prof-flamegraph
quickcheck-state-machine - Test monadic programs using state machine based models
genvalidity - Validity and validity-based testing
doctest-discover - Easy way to run doctests via cabal
tasty-quickcheck-laws - Tasty trees for your lawful class instances
http-test - Tests for HTTP APIs