doctest-extract: Alternative doctest implementation that extracts comments to modules
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
Alternative doctest implementation that extracts comments to modules.
Pros:
Package versions for tests are consistent with tested library
Tests run much faster, especially QuickCheck property tests
No dependency on GHCi or GHC-as-library
QuickCheck properties do not cause confusing type error messages when actually only identifiers are missing.
You can inspect extracted modules
doctest
collects tests from the transitive hull of imports of the specified modules. This might help you to keep the list of modules short.doctest-extract
only processes the specified modules and thus allows you to focus on a module for development of tests.With option
--verbose
format test source path and line number such that Emacs allows you to click and jump to the test definition.Report success only of real tests.
doctest
reports successful imports and definition of helper types and functions as successful tests. This makes it hard to monitor the number of real tests, e.g. whether some tests have been dropped by accident.
Cons:
Cannot test for output of IO functions or error messages from partial functions.
All free variables in QuickCheck properties must be all-quantified using lambda. (Could be even seen as an advantage for the reader of your doctests.)
No support for a single-line
let
as an example.The Test module does not automatically import modules that the tested module imports. Thus, you usually have to add a setup section with required imports.
You need tools additional to Cabal, e.g. Makefile, in order generate test modules.
Properties
Versions | 0.0, 0.1, 0.1.0.1, 0.1.1, 0.1.1.1, 0.1.2 |
---|---|
Change log | None available |
Dependencies | base (>=4.5 && <5), doctest-lib (>=0.0 && <0.1), non-empty (>=0.3.3 && <0.4), optparse-applicative (>=0.11 && <0.16), pathtype (>=0.8 && <0.9), semigroups (>=0.18.5 && <0.20), transformers (>=0.5.6 && <0.6), utility-ht (>=0.0.16 && <0.1) [details] |
License | BSD-3-Clause |
Author | Henning Thielemann <haskell@henning-thielemann.de> |
Maintainer | Henning Thielemann <haskell@henning-thielemann.de> |
Category | Testing |
Home page | https://hub.darcs.net/thielema/doctest-extract/ |
Source repo | this: darcs get https://hub.darcs.net/thielema/doctest-extract/ --tag 0.0 head: darcs get https://hub.darcs.net/thielema/doctest-extract/ |
Uploaded | by HenningThielemann at 2020-07-27T15:45:16Z |
Downloads
- doctest-extract-0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees