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 ?
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!