NO MORE EXCUSES!
Start your Express project off right with all testing infrastructure set up for you!
Client-side unit tests?
Server-side unit tests?
Webdriver integration tests?
Compiled Templates for client-side rendering?
Static Code Analysis?
Check And Mate! IT'S ALL SET UP FOR YOU INCLUDING THE FIRST BATCH OF CLIENT-SIDE AND SERVER-SIDE UNIT TESTS AND WEBDRIVER TESTS - NO EXCUSES!
No more having to re-do all this stuff from stratch for each webapp. Start here and you're on your way!
- Fork or clone this repo.
npm installto grab local copies of all dependencies from npm.
- If you don't already have it, install grunt globally
sudo npm -g install grunt-cli.
- Install redis. If you install from source, be sure to copy redis-server and redis-cli to your $PATH (
- Start the redis server using
- Name your module in
- To run the webdriver tests make sure selenium is started (
grunt testwill output instructions for this)
grunt testto run the full suite of tests!
The TESTING has already been started for you - just write tests THEN code and pound it out!
- bootstrap prettifying
- bunyan logging
- dustjs-linkedin templating
- express HTTP serving
- forever process administrating
- github code repositorying
- grunt task running and continuous integrating
- istanbul code coveraging
- jasmine client-side unit testing
- jasmine-node server-side testing
- jshint code linting
- karma continuous integrating
- phantomjs headless testing
- plato static code analyzing
- redis persisting
- travis-ci continuous integrating
- webdriver integration testing
All available grunt tasks:
- jshint - Run jshint on all files - dustjs - compile all templates (in views/**) and create a single template.js file - jasmine - Run all client-side unit tests in spec/client/** with code coverage - jasmine_node_coverage - Run server-side jasmine unit tests in spec/server/** with code coverage - webdriver_coverage - Run all jasmine webdriver tests in spec/webdriver with code coverage - webdriver - Run all jasmine webdriver tests in spec/webdriver WITHOUT code coverage - express - Start your express server (will only run during the lifetime of the grunt process) - total_coverage - aggragates all coverage info into one mongo report - plato - run plato report on entire codebase - watch - Watch all files and run tests accordingly - test - run: - jshint - jasmine - jasmine_node_coverage - webdriver_coverage - total_coverage - plato
All test and coverage output go to the build/ directory (JUnit XML for all tests and LCOV+HTML for all coverage info)
A karma.conf.js file is provided for all the client-side unit-tests if you wanna roll with karma - note 'grunt watch' does the same basic thing...
let 'er rip!
Todo: Add Uglify/Release grunt targets