/
Development tools in ExamSys

Development tools in ExamSys

We use several tools to help with the development and building of ExamSys

  • Node Package Manager (npm)

  • Grunt

  • Composer

  • Behat

  • PHPUnit

  • PHP Code sniffer

  • Rector

Node Package Manager (npm)

npm is used to install the tools we use to build ExamSys for deployment, it requires node.js to run.

Grunt

Grunt and it’s packages are used to do several things:

  1. Compress our CSS

  2. Lint and compress our JavaScript

  3. Build sprite images including their supporting CSS and JavaScript

We only include human readable and formatted files in the ExamSys source code, but to save bandwidth during use we want to minimise the size of the CSS and JavaScript files by removing whitespace that machines do not need.

Composer

Composer is used to manage third party dependencies in our code base, and to install some development tools

Examples of dependencies:

  • The templating engine

  • html filtering

  • web service layer

Behat

Behat is used to do automatic functional testing.

PHPUnit

PHPUnit is used in ExamSys for unit testing

PHP Code sniffer

We use PHP code sniffer to check that the code we develop matches the ExamSys coding standard

Rector

New in ExamSys 7.7.0

Rector is a tool that allows us to automatically change parts of the ExamSys code to support the latest PHP features. We are using it to assist us keeping the codebase working smoothly on newer version of PHP.

Related content