Я все еще пытаюсь следовать по пути к TDD.Как использовать TDD, когда ваш метод предназначен для выполнения многих задач
Предположим, у меня есть SunSystemBroker, вызванный, когда файл загружен в общую папку. Этот брокер разработан, чтобы открыть этот файл, извлечь из него записи, попытаться найти связанные платежи в других системах и, наконец, вызвать рабочий процесс!
Если я хочу следовать TDD, чтобы разработать метод IBroker.Process(), как это сделать?
Примечание: Брокер - это независимые сборки, наследуемые от IBroker и загруженные консольным приложением (например, плагины).
Эта консоль отвечает за запуск каждого брокера!
public interface IFileTriggeredBroker : IBroker
{
FileSystemTrigger Trigger { get; }
void Process(string file);
}
public class SunSystemPaymentBroker : IFileTriggeredBroker
{
private readonly IDbDatasourceFactory _hrdbFactory;
private readonly IExcelDatasourceFactory _xlFactory;
private readonly IK2DatasourceFactory _k2Factory;
private ILog _log;
public void Process(string file)
{
(...)
// _xlFactory.Create(file) > Extract
// _hrdbFactory.Create() > Find
// Compare Records
// _k2Factory.Create > Start
}
}
Каждый метод испытаны индивидуально.
Спасибо Себа
Я не уверен, что это на самом деле ваш вопрос или нет ...но у меня всегда был аналогичный вопрос, когда речь идет о методах, которые «все вместе». Если у вас есть методы 'Foo',' Bar' и 'Baz', все из которых полностью автономны и делают что-то в одиночку, но вам нужно связать их вместе для желаемого поведения, я думаю, что« цепочка »представляет собой единый но я никогда не был уверен, что назвать эти типы классов. И насколько они проверяются, просто ли это означает, что этот «цепочка» вызывает все необходимые методы из 'Foo',' Bar' и 'Baz'? – Kritner