У меня есть следующий класс:
public class Script
{
IPrinter _printer;
public Script(IPrinter printer)
{
_printer = printer;
}
public void Print(TextWriter writer)
{
_printer.PrintComment(writer, "lolz");
writer.WriteLine("omg this complicates things";
_printer.PrintSpecial(writer);
if (signoff)
_printer.PrintComment(writer, "kthxbye");
}
}
Как мне настроить тест, чтобы утверждать, что методы принтера вызываются в правильном порядке с правильными параметрами?
Я мог бы вручную создать «фальшивый» принтер и выполнить тест состояния на писателе, но поскольку контекст большой (особенно если скрипт также работает с писателем), я бы хотел этого избежать.
Я использую монахиню и носорога. Мы будем благодарны за любые мысли об архитектурных изменениях или процедурах насмешек, чтобы облегчить тестирование. Реальный код, с которым я работаю, к сожалению, более сложный - но это суть.