jsdoctap
Test runner for doctests using JSDoc examples and node-tap.
Based on the hard work of @yamadapc and this project.
Installation
npm i -D jsdoctap
Usage
jsdoctap some-file.js
I recommend adding it to your npm scripts. Example:
Options
jsdoctap
has one option: -i
(or --ignore
)
Example: jsdoctap -i src/*.test.js -i src/*.config.js src/*.js
.
Format
Tests must be under an @example
in a valid JSDoc comment.
The return value to be tested against must come after a line comment with an
arrow (Clojure REPL style):
/** * Identity * @example * id(1) // => 1 */
Line breaks between the call and the comment are fine:
/** * Identity * @example * id(1) * // => 1 */
Line breaks in function calls currently do not work:
/** * This will break! * @example * id( * 1 * ) // => 1 */
Source and examples that need to be Babelified work just fine, as long as you have Babel configured and modules installed.
Roadmap
- Handle expecting errors
- Fix multi-line function calls
- Fix dependencies that need to be Babelified
- Add ability to have custom test case name
- Clean up comment-parser and getModuleName (in tap)
- More tests and examples