Superfluous Setup Data

Definition:

  • Occurs when testing queries or filters, in which you only expect to get a subset of the data back. The underlying idea is that, in order to be thorough, “extra” data should be present to show that the query or filter works as required.

Code Example:

@Test
public void givenMultipleWidgetsExistWhenQueriedByNameThenOnlyWidgetAFound() {
insertDefaultWidget("a");
insertDefaultWidget("b");
insertDefaultWidget("c");

WidgetQuery widgetQuery = new WidgetQuery();
List<Widget> results = widgetQuery.findByName("a");

assertEquals(1, results.size());
assertEquals("a", results[0].getName());
}

References:

Quality attributes

  • - Code Example

  • - Cause and Effect

  • - Frequency

  • - Refactoring