Я не понимаю, как вы можете написать тест, не зная, о каких элементах данных вы говорите.
Thing myThing = getThingById( 87 );
assert(Thing is Blue);
, не зная о существовании Вещи или о том, что она имеетидентификатор и цвет, вы не можете написать тест.Другими словами, при написании даже самого простого теста у вас в голове есть хотя бы эмбриональная модель данных.Эскиз этой неформальной модели может помочь вам рассуждать о ваших тестах.
Хитрость заключается в том, чтобы избежать погружения в детальную реализацию до написания тестов, поэтому я могу понять, почему люди дают совет делать только тесты.
Вопрос, который меня интересует - учитывая, что одни и те же тесты могут быть удовлетворены многими различными моделями данных (подумайте о денормализации), на каком этапе мы начинаем строить лучшую модель данных?