![]() |
Unit testing with database in CI 3.x - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Development (https://forum.codeigniter.com/forumdisplay.php?fid=6) +--- Forum: CodeIgniter 3.x (https://forum.codeigniter.com/forumdisplay.php?fid=17) +--- Thread: Unit testing with database in CI 3.x (/showthread.php?tid=67610) |
Unit testing with database in CI 3.x - aaldhahe - 03-15-2017 Hello all, I have started writing Unit tests for an existing application. I am testing with database. I wanted to know if is there a way reinitialize MySQL back to its state before running the test. What am looking for is suggestions and resources. Thanks all. RE: Unit testing with database in CI 3.x - InsiteFX - 03-15-2017 What do you mean by reinitialize MySQL Database? Back to an empty database or what? If it's back to an empty database then all you need to do is delete all the tables. RE: Unit testing with database in CI 3.x - aaldhahe - 03-16-2017 (03-15-2017, 03:07 PM)InsiteFX Wrote: What do you mean by reinitialize MySQL Database? Sorry for the misunderstanding. I meant that I have a database at a certain state. I am testing my models, and some tests insert and delete info from the database, I want the database to go back to the state it was before running the tests. RE: Unit testing with database in CI 3.x - InsiteFX - 03-16-2017 You would need to make an sql dump of the normal state then delete all tables and run the sql dump to put it back. You can do this using CodeIgniter Query Builder. RE: Unit testing with database in CI 3.x - aaldhahe - 03-17-2017 (03-16-2017, 12:29 PM)InsiteFX Wrote: You would need to make an sql dump of the normal state then delete all tables and run the sql dump to put it back. Thank you RE: Unit testing with database in CI 3.x - kenjis - 03-19-2017 If you use ci-phpunit-test, it provides sample database seeders. See https://github.com/kenjis/ci-phpunit-test/blob/master/docs/HowToWriteTests.md#database-seeding |