Skip to content

JavaScriptUnitTesting

felixKubicek edited this page Sep 19, 2014 · 9 revisions

Location

All resources related to testing the JavaScript client-side code can be found in FuzzEd/tests/js-tests/. The previously mentioned directory contains the following subdirectories:

  • src - contains the actual unit test modules, as well as an html file, called (test_tunner.html) used for initialization of the testing environment, as well as execution of the unit tests modules
  • lib - contains libraries related to testing

Execution

The Unit tests can be executed in the following two ways:

  • Open test_tunner.html in a browser
  • Execute python manage.py test FuzzEd.tests.test_js on the command line (execution of test_tunner.html using the headless browser plugin mocha-phantomjs)

Unit Test Conventions

Naming Conventions for Testing Modules

For reasons of compatibility (between source code and testing code) and uniformity, unit tests are also defined as requirejs modules. When testing a source code module the related tests cases should be located in a module that has the same name like the source code module followed by _tests, as shown in the example below:

  • FuzzEd/static/script/job.js (source code module)
  • FuzzEd/tests/js-tests/src/job_tests.js (related unit test module)