Unit test for restful api on production database

guestisp posted 1 week ago

usually, unit tests create a new database and fill them based on the test, to always have a clean environment for each test.

Silly question: as I have to create tons of unit test based on an already populated DB (in a dev environment), I can't create/fill database every time. (in example, in our application the order can't be deleted, thus, creating a new test for order creation, will put data on DB that can't be removed via application).

Is it correct to use an existing database and run test directly over it ?

Meg Stepp replied 1 week ago

No, you want a separate database for testing, not a database you need. Ideally, you'd use a database within memory so that after every test, the test database in memory goes poof. After all, you're not testing the data itself, you're testing whether you get the correct data based on whatever you input every time.

Sign in to participate in this thread!

We'd like to thank these amazing companies for supporting us