"It's in da spec!"
Core library for running executable specifications using DaSpec with JavaScript.
What is DaSpec?
DaSpec is an automation framework for Executable Specifications in Markdown. It can help you:
- Share information about planned features with non-technical stakeholders easily, and get actionable unambiguous feedback from them
- Ensure and document shared understanding of the planned software, making the definition of done stronger and more objective
- Document software features and APIs in a way that is easy to understand and maintain, so you can reduce the bus factor of your team and onboard new team members easily
- Make any kind of automated tests readable to non-technical team members and stakeholders
DaSpec helps teams achieve those benefits by validating human-readable documents against a piece of software. This makes it easy to argue if the software really does what the document claims, and also quickly points out to places in your documentation that need to be updated. Because of that, DaSpec can support you in moving from confidence-based to evidence-based acceptance testing, and creating a living documentation system to remove knowledge bottlenecks.
DaSpec's primary target are teams practising Behaviour Driven Development, Specification by Example, ATDD and generally running short, frequent delivery cycles with a heavy dependency on test automation. It can, however, be useful to anyone looking to reduce the cost of discovering outdated information in documentation and tests.
To read about the motivation behind DaSpec, check out Why another tool?.
Try it out in your browser
Visit daspec.com/examples to try out the key features in your browser.
Installation
To run DaSpec from the console using Node.js:
npm install daspec
To run DaSpec client-side, in a browser:
bower install daspec
For the core NPM module, to develop and build extensions
npm install daspec-core
Support
- Documentation: Check out DaSpec.com
- Questions or ideas: Please send an e-mail to the DaSpec Google Group
- Bugs: please create an issue directly in the daspec-js project on GitHub
- News and updates: subscribe via RSS or follow @indaspec on Twitter
Contributing to DaSpec
Please see the contributor's guide