В качестве общего ответа на вопрос «Как мы настраиваем данные для сложных или связанных объектов?» вопрос - как продукты и продажи - все это зависит от того, какое поведение вы указываете. Нет единого, правильного пути. Кстати, вы не включили текст «Особенность» и «Сценарий», чтобы дать нам некоторый контекст для того, для чего предназначен этот кьюк, но, по общему признанию, нетрудно догадаться.
Ваш первый "не хрупкий" первый пример показывает хороший способ развить базовое поведение, которое говорит мне, что пользователь может увидеть короткий список самых продаваемых продуктов и их продаж.
Если вы хотели доказать, что дисплей каким-то образом заботится о том, чтобы показывать вещи ранжированными, вы получите более четкие данные, а затем проясните, что вы «перебираете» по объему продаж. Или этот явный пример может показаться как проясняющий, что вы имеете в виду.
Мое обычное эмпирическое правило - ограничивать настройку только теми частями «графа объектов», которые вы хотите протестировать в текущем сценарии. Это помогает привлечь внимание к самым «узким» частям тестируемой системы. В противном случае, если вы продолжите создавать все с нуля для всех сценариев, иногда трудно понять цель теста. Иногда вы заботитесь о деталях в родительском объекте, иногда вы хотите проверить сумму частей.