BDD на уровне единицы больше о мышлении и словарном запасе, чем что-либо еще. Если я думаю о вашем классе, не используя слово «тест», просто концентрируясь на его обязанностях и поведении, это помогает мне понять, что может быть не так. Я думаю, что если вашему классу нужно 8 услуг, чтобы выполнить свою работу, возможно, у него слишком много обязанностей. Не могли бы вы делегировать некоторые из этих обязанностей другому классу, а затем высмеять это?
BDD на уровне сценария действительно предназначен для того, чтобы помочь вам подумать о поведении, масштабах и обязанностях целых систем и обсудить их. Я не думаю, что это поможет вам решить дизайн класса, о котором вы говорите. Тем не менее, с моей шляпой BDD я могу сказать вам, что BDD не о тестировании. Речь идет об обнаружении невежества, решении его, а затем передаче этих знаний, чтобы сделать код простым и безопасным для изменения.
Поэтому я советую делать все, что делает код простым и безопасным для изменения. Если вы пишете хрупкие тесты, которые будут ломаться в первый раз, когда кто-то что-то меняет, тогда, да, возможно, вместо этого поднимите его на уровень (к сценариям и поведению системы). В противном случае напишите несколько хороших примеров на уровне модулей и реорганизуйте код, как подсказывает @Aliostad.