I'm still working on PHP unit tests for testing my symfony2 controllers. My test classes are derivations of WebTestCase
and the tests are doing GET or POST requests to check if everything works fine.
I want to test all underlying layers, but I don't want to mess up my database with the tests. I don't want to use mock-ups, but an in-memory SQLite db, where I can set up a test scenario to check all modifications.
I found a lot of hints how to do this with doctrine 1.x, but they don't work anymore.
So I want something like this:
class BlahblahTest extends WebTestCase {
public function testXXXYYY() {
// 1. Setup a new database with SQLite:memory:
// 2. create the database and all tables according the entities in my project
$this->createTestScenario(); // 3.
$crawler = $this->client->request('GET', '/testpage'); // 4.
// 5. Lots of checks against the database and / or the $crawler data
}
}
Any chance to get this work?