Skip to content

Unit Tests

Spencer Pollock edited this page Feb 26, 2019 · 7 revisions

Test Requirements

Unit tests are required to have 100%> pass rate before being accepted to the master branch. If any tests are not passing, only the owner or an administrator may merge, and they must have a valid reason noted in the code review (this is highly discouraged for all users and administrators).

Format

The unit tests are broken up into 3 different sections in order of writing precedence: unit, integration and functional.

  • Unit tests are written to test individual functions solidity. By testing functions individually, when they throw incorrect values, they can be caught on a function level.

  • Integration tests are focused on system functionality. For example, testing the connection and polling of a database with a single class. Each test case would be a single function accessing the data base with a single query.

  • Functional tests will be testing the component functionality of the entire system. By testing the validity of a fully functioning system on a user-perspective basis, this can check how the application will perform under standard user workflow.

Continuous Integration

TravisCI will run all tests and coverage before deploying to make sure the project outputs accordingly. For more information, check out the workflow wiki.

Clone this wiki locally