I am currently working on introducing continuous integration and switching to git, and as part of that, we must also better structure our tests.
We have agreed on splitting the tests in "integration" and "unit" - however he doesn't seem to agree that touching the database is also integration testing.
The code is horrible, everything is coupled to the database, it's hard to mock and stub, and I want to move it on the long term towards a better modularisation and testability.
Getting him to accept and use the proper naming is critical in future arguments.
So how to convince him that every test which touches the database is also integration testing?
At the moment he thinks that
exec()-ing an external program or using an external interface (e.g. via SOAP) is an integration test.
He also thinks that everything which is slow belongs to integration testing, while he's in love with his "lightning fast database".