Integration Tests
An integration test is any test that cannot be described as unit test.
An integration test might:
•Use system dependent values that change dynamically (such as DateTime.Now or Environment.MachineName)
•Create objects that cannot be controlled in a reliable manner. For example, a test can have a little control over threads or generators of random numbers.
•Make calls to external systems or have dependencies on a local machine (for example, when a test calls a Web service or uses local configuration files).
•Test multiple scenarios as part of a single test case (for example, when a test checks database integrity, system configuration, protocols, and system logic at once).
Therefore, integration tests will most likely:
•Significantly slower than unit tests
•Require significantly amount to run completely
•Make the collection and analysis of test results more problematic