Integration testing our engine
So far, we have been retrofitting our code with unit tests, which test each unit individually, independent of external dependencies. However, it's also important to have confidence that different units are compatible with each other. This is where integration tests are useful. So, let's add some integration tests to our User Create engine that'll test its interaction with the database.
First, let's update our npm scripts to include a test:integration
script. We'll also update the glob file in our test:unit
npm to be more specific and select only unit tests. Lastly, update the test
script to run the integration tests after the unit tests:
"test": "yarn run test:unit && yarn run test:integration && yarn run test:e2e", "test:unit": "mocha 'src/**/*.unit.test.js' --require @babel/register", "test:integration": "dotenv -e envs/test.env -e envs/.env mocha -- src/**/*.integration.test.js' --require @babel/register",
The dotenv mocha
part will run Mocha...