Vokal Testing Standards

Every engineer at Vokal owns 100% of the code that they write, as well as 100% responsibility for the quality of that work. Code coverage for tests must be 100%, and coverage of the acceptance criteria must be 100%.

Each and every pull request must include tests for included features. Any pull request without tests will be rejected.

Automated Testing Guidelines

Testing Frameworks

Android and iOS

For Unit Testing use the testing frameworks included in the SDK (jUnit and XCTest, respectively).

For Android, use Espresso for UI/Acceptance testing.

Python

Django has an integrated test platform built on Python's unittest module, as well as a built-in test runner invoked with ./manage.py test. Flask projects use unittest with the nose test runner.

Go

Go has it's own simple testing package which works well enough for simple unit tests, though we often leverage the gocheck package for complete integration testing.

Web

Covered in detail here.

New frameworks

If you want to propose a new framework to replace any of the above, research it and present the framework to your discipline's team.