A Set of Unit Testing Rules
It is hard to give one and only answer what test IS in TDD, but Michael Feathers has a nice sets of test attributes which disqualify them from being “real one”
A test is not 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.
Tests that do these things aren’t bad. Often they are worth writing, and they can be written in a unit test harness. However, it is important to be able to separate them from true unit tests so that we can keep a set of tests that we can run fast whenever we make our changes.
Source: A Set of Unit Testing Rules