Unit, integration and gray tests
Scott Bellware has a great post about what makes an unit test and what an integration test.
…it isn’t a unit test if:
- It talks to the database
- It communicates across the network
- It touches the file system
- It can’t run at the same time as any of your other unit tests
- You have to do special things to your environment (such as editing config files) to run it.
Seems like a good idea to separate units and integration tests using these criteria and optimize then based on speed and isolation possibilities.

