Skip to content

Starter project to demonstrate unit testing and integration testing for front-end Javascript applications

Notifications You must be signed in to change notification settings

bguiz/front-end-js-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Front-end Javascript Testing

Goals:

  1. Unit testing
  2. Integrations testing

The libraries used for both of them have been kept as similar as possible to each other. In fact, only the runner library differs, but the framework and assertions libraries used are the same.

This module aims to be a reference/ starter for a testable front-end Javascript application.

Unit testing

Unit tests will need to test individual functions (white-box) using:

  • Runner: Karma
  • Framework: Mocha
  • Assertions: Chai Expect, Chai-as-promised

Individual functions will be required, and tested in isolation. This is white box testing, as we are concerned with the internal details of how each function works. Karma is used as the test runner rather than Mocha directly, because we need access browser functionality.

Integration testing

Integration tests will need to test entire application (black-box) using:

  • Runner: Webdriver.io
  • Framework: Mocha
  • Assertions: Chai Expect, Chai-as-promised

The entire application will be run, and tests will simulation actual usage of the web site. This is black box testing, as we are not concerned with the details of how the application works, just the end results. Webdriver.io is used as the test runner, rather than Mocha directly, because it is used to interface with a selenium server.

Author

Brendan Graetz

Licence

GPL-3.0

About

Starter project to demonstrate unit testing and integration testing for front-end Javascript applications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published