Scaffolding for a TDD Express-Angular app
Run with NodeJs v4 or v5
Download it ! or Clone it ! or Fork it ! or ...
Then Install it, Start it, Test it, Browse it, Containerize it ...
- ExpressJs dependencies : body-parser - cookie-parser - debug - express - jade - morgan - serve-favicon
- Bower dependencies : bower - bower-requirejs
bower install
is called innpm postinstall
AngularJs - RequireJs - BootstrapCssbower-requirejs
is called inbower postinstall
(see .bowerrc) to generate main requirejs file
Start ExpressJs server and listen to http://localhost:3000
to serve api and static files.
Mocha runner with config (test/**/*.js
) and Istanbul auto-instrumented coverage/report
-
TFTFT Unit Test : mocha
-
TFTFT Route Test : supertest
-
TFTFT Coverage Test : istanbul
-
TFTFT Specification Test : selenium-webdriver in folder 'test/spec/'
-
Note for Specification Test :
Selenium Server : Local or Remote ? ... Up to Developer !
Default to Remote for the needs of this repo : saucelabs instrumented in tests with TravisCI configuration.For local or remote :
Intest/spec/test-wdjs-spec.js
changevar isLocalSeleniumServer = false;
-
Local Selenium Server :
- Change config with :
var option_local = { server: 'http://127.0.0.1:4444/wd/hub', desiredCapabilities: { browserName: 'firefox' }, baseUrl:'http://localhost:3000' };
- Start a local selenium server
/*Example with selenium-standalone (not include in this package)*/ npm install selenium-standalone; ./node_modules/.bin/selenium-standalone install; ./node_modules/.bin/selenium-standalone start;
-
Remote Selenium Server with SauceLabs :
For Travis :
Intest/spec/test-wdjs-spec.js
changevar travis = true;
- With Travis environnement
var travis = true;
(default) :
Config intest/spec/option-travis-sauce.js
:
SAUCE_USERNAME=[secure] and SAUCE_ACCESS_KEY=[secure] must be set in Travis env variable TRAVIS_JOB_NUMBER, TRAVIS_BUILD_NUMBER are automatically set by Travis _BROWSER, _PLATFORM, _VERSION are define in .travis.yml matrix
- Without Travis environnement
var travis = false;
:
Config intest/spec/option-sauce.js
:
In local environnement : $ export SAUCE_USERNAME=[secure] $ export SAUCE_ACCESS_KEY=[secure]
- With Travis environnement
_Change baseUrl to address app in a cloud developpement environnement For this repo, **`baseUrl:'https://tftft-scaf-misterdevo.c9users.io'`** on Cloud9_
-