Creating a test-driven module API
We're going to create our module by loosely following the test-driven development (TDD) model (See http://en.wikipedia.org/wiki/Test-driven_development for more info). JavaScript is asynchronous so code can be executed in multiple time streams at once. This can sometimes make for a challenging mental puzzle.
A test suite is a particularly powerful tool when it comes to JavaScript development. It provides a quality assurance process and inspires confidence in a module's users base when tests are passed.
What's more, we can define our tests up front as a way to map out the intended API before we even begin development.
In this recipe, we'll be doing just that by creating a test suite for a module that extracts stats information from MP3 files.
Getting ready
Let's create a new folder called mp3dat
, with a file inside called index.js
. Then two subfolders: lib
and test
, both containing index.js
.
We'll also need MP3 files to test on. For simplicity, our module will...