Testing Technology Stack - AutolabJS/autolabcli GitHub Wiki

Choice of testing libraries for the project:

Kind of Tests Library
Requirements tests cucumber
unit tests mocha
assertions library chai
test doubles sinon, mock-socket, nock, json-server
code coverage tool in travis istanbul
headless browser-based testing puppeteer, nightmare.js
(to be used with mocha and chai for functional tests)
high-level selenium-driver with own assertions nightwatch.js
(easy to use; to be used with mocha for functional tests)
low-level, but sensible selenium-driver webdriverIO
(to be used with mocha and chai for functional tests)
Automation of browser tests Saucelabs
Manual browser tests browserling
Load tests artillery
Web content layout tests reftests

See this post by Chris. It puts all the tools together. Another comprehensive post by David Tang.

References

https://www.sitepoint.com/unit-test-javascript-mocha-chai/
https://www.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/
https://www.codementor.io/nodejs/tutorial/unit-testing-nodejs-tdd-mocha-sinon
https://gyandeeps.com/console-stubbing/
http://mherman.org/blog/2017/11/06/stubbing-http-requests-with-sinon/
http://thejsguy.com/2015/01/12/jasmine-vs-mocha-chai-and-sinon.html
https://www.codementor.io/nodejs/tutorial/unit-testing-tdd-node-js-nockjs-part-2
http://thejsguy.com/2015/02/28/end-to-end-testing-with-phantomsjs-and-casperjs.html
https://www.npmjs.com/browse/keyword/load%20test
https://www.npmjs.com/package/karma
https://www.keithcirkel.co.uk/why-we-should-stop-using-grunt/