bdd VS DocTest

Compare bdd vs DocTest and see what are their differences.


A domain-specific language for testing programs using Behavior-Driven Development (BDD) process in Haskell (by humane-software)


An implementation of Python's doctest for Haskell (by sol)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
bdd DocTest
- 3
18 369
- -
0.0 5.4
over 9 years ago 6 months ago
Haskell Haskell
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.


Posts with mentions or reviews of bdd. We have used some of these posts to build our list of alternatives and similar projects.

We haven't tracked posts mentioning bdd yet.
Tracking mentions began in Dec 2020.


Posts with mentions or reviews of DocTest. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-01-15.
  • HSpec, Tasty, sydtest, Hunit, ... -> what do you use for writing Haskell tests?
    2 projects | /r/haskell | 15 Jan 2023
    doctest for testing examples in the documentation. Docs are much clearer when they contain usage examples and doctest helps them keep up to date.
  • Why is the debugger so bad in Haskell? (or is it just me)
    3 projects | /r/haskell | 19 Oct 2021
    Try to restrict your types even on sub functions (inside where), use testing, break down your code to the most atomic parts, using ghci to debug each part once at a time, and because Haskell doesn't let you reuse variables, or mutate state, it's a lot easier to rationalize evaluation order (which makes it a lot easier to debug without step debuggers compared to languages like python).
  • Documentation or lack thereof?
    1 project | /r/ExperiencedDevs | 25 Jun 2021
    Some may argue that the tests are a form of documentation, and that's true, but they still don't capture the why. And tests are almost always separated from the actual code, which makes it more complicated to look at the code and the tests at the same time and understand them together. I've used doctest with Haskell which is a solution to this. Doctest is nice at first but in my experience it wasn't reasonable to do non-trivial tests in doctest, and plenty of tests are non-trivial. So then you're left with the decision to use doctest where you can, and another test solution for non-trivial tests, or just do all tests using the other testing solution. We chose simplicity and got rid of doctest.

What are some alternatives?

When comparing bdd and DocTest you can also consider the following projects:

swagger-test - Property based testing tool for Swagger APIs

tasty - Modern and extensible testing framework for Haskell

quickcheck-arbitrary-adt - Typeclass for generating a list of each instance of a sum type's constructors


markov-chain-usage-model - Computations for Markov chain usage models

http-test - Tests for HTTP APIs

fuzzcheck - A library for testing monadic code in the spirit of QuickCheck

fitspec - refine properties for testing Haskell programs

test-fixture - Testing with monadic side-effects

hspec-expectations - Catchy combinators for HUnit

http-mock - HTTP mocking and expectations library for Haskell