I'm familiar with writing unit and integration tests for APIs, but I could use some guidance on best practices in a professional setting. For example, in my workplace, we have both a production branch and a staging branch. When working on a feature branch, if I write a unit test for something like an INSERT statement into a database, should I use the staging database for testing, or would it be better to stick to a local database? I want to ensure my tests are reliable and don't get affected by issues in the staging environment.
1 Answer
It's generally best to keep your unit tests isolated to minimize dependencies. If your staging database has an issue, you don't want that to impact your tests. Using a separate, dedicated test database is the way to go! This way, you can avoid potential flukes that could disrupt your testing process.
Totally agree! It makes sense to have each developer use a local or separate test database. That way, you won't be trying to remember to switch configurations back and forth in your code each time you merge.