minimum of work required to achieve its goal Be easy to understand Be easy to maintain Execute in a shorter period of time A descriptive test name Narrow and Focused
for a real object in a test, similar to how a stunt double stands in for an actor in a movie. These are sometimes all commonly referred to as “mocks”, but it's important to distinguish between the different types of test doubles since they all have different uses. Test Doubles
value because the rest of the system relying on this specific value to continue running in a test. A stub has no logic, and only returns what we tell it to return
one testData() for type testData() can create an object passing no arguments as all its property have default values default values reuse existing testData() whatever is possible default values use nil when the property is optional Benefits of Test Data?