This will be the most controversial of the sections of this chapter by far. When it comes to database testing, there are different schools of thought. Should we use the database or not? Should we use our development database or one in memory? It is quite out of the scope of the book to explain how to mock the database or prepare a fresh one for each test, but we will try to summarize some of the techniques here:
- We will mock the database connection and write expectations to all the interactions between the model and the database. In our case, this would mean that we would inject a mock of the
PDOobject. As we will write the queries manually, chances are that we might introduce a wrong query. Mocking the connection would not help ...