Component/integration test is a hybrid between E2E and unit tets. It's gaining a lot of popularity and going by the testing diamond model it is considered as the default technique for the modern backend. Its main idea is testing an entire component (e.g., Microservice) as-is, through the API, with all the layers including the database but fake anything extraneous. This brings both high confidence and great developer experience. However, doing it right, fast, exhaustive and maximizing the value demand some learning and skills. This is the mission statement of this repo. Warning: You might fall in love with testing. Detailed instructions on how to write component tests in the RIGHT way including code example and reference to the example application. A Complete showcase of a typical Node.js backend with performant tests setup (50 tests in 4 seconds! including database!)
Features
- Recipes folders
- Example application
- 40+ Best Practices List
- Optimizing your DB, MQ and other infra for testing (6 best practices)
- Patterns and practices for testing the application data and database (8 best practices)
- Techniques for testing collaborations with 3rd party components (8 best practices)