Skip to content

Latest commit

 

History

History
40 lines (24 loc) · 1.44 KB

testing.md

File metadata and controls

40 lines (24 loc) · 1.44 KB

Testing Strategy

End-to-End Testing

End-to-end testing tests an entire product, service or application. Individual products should each have their own tests.

Where possible, external dependencies (such as Azure Search) should be mocked. This is because external dependencies can slow down these tests and make them brittle. Testing with external dependencies should be carried out manually.

Websites tested by Cypress

Websites should be tested by Cypress.

APIs tested by Jest

GraphQL APIs should be tested by Jest.

Unit Testing

Helpers tested by Jest

JavaScript and TypeScript helpers should be tested by Jest. Where Typescript support is required, Jest supports this via @babel/preset-typescript

React components tested by Enzyme

React components should be tested by Enzyme via Jest.

Rust tested by Rust

Rust code should be tested by Rust, using its unit testing framework.

There is no need for unit tests on Rust server code which is purely plugging into external dependency crates. This integration will be well-covered by all end-to-end tests for those servers.