Итак, мы с коллегой в довольно жарких спорах. Мы начинаем новый проект, и мы пытаемся использовать BDD. Мы оба - первооткрыватели и не совсем понимаем, какие методы следует использовать. Мы написали некоторые спецификации, и теперь мы внедряем код. Все становится довольно сложно, так как взаимодействие с базами данных очень много. Мы зацикливаемся на том, как насмехаться над нашими данными. Метод, который мы собирались, потребовал бы, чтобы мы издевались над нашими методами вместо наших данных. Это проще, если я покажу вам в коде ...BDD/TDD издевательские данные сложный способ
public static void AssignLeadToDistributor(int leadId, int distributorId)
{
Lead lead = GetById(leadId);
lead.DistributorId = distributorId;
Save(lead);
}
В принципе, мы должны переопределить GetByID() и Save() для возврата фиктивных данных для нас, чтобы проверить это. кажется, больше смысла делать это так:
public static void AssignLeadToDistributor(Lead lead, Distributor distributor)
{
lead.DistributorId = distirbutor.Id;
}
Тогда мы могли бы просто высмеивать наши объекты.
Понятно, что второй метод упрощает тестирование. Тем не менее, аргумент состоит в том, что мы не хотим получать новый объект lead и distributor на нашем интерфейсном коде, потому что было бы проще просто передать идентификаторы наших объектов. Сокращение фактического кода в нашем интерфейсе.
Надеюсь, я объяснил это достаточно хорошо.
Что вы, ребята, думаете? Какой путь имеет смысл?
Ну, конечно, бинарные схемы принятия решений велики, но они не являются последним поколением, которое делает все, что мы знаем, устаревшим ... О, подождите, неважно. –