J'ai la classe suivante:C#: Comment puis-je vérifier que les méthodes sont appelées dans un certain ordre?
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");
}
}
Comment puis-je configurer un test pour les méthodes affirme que l'imprimante sont appelés dans l'ordre correct avec les paramètres appropriés?
Je pourrais créer manuellement une fausse imprimante et faire un test d'état sur l'écriture, mais comme le contexte est grand (d'autant plus que le script travaille aussi avec l'auteur) j'aimerais l'éviter. J'utilise des mock nunit et rhinocéros. Toutes les réflexions sur les changements architecturaux ou les procédures de moquerie pour le rendre plus facile à tester sont appréciées. Le vrai code avec lequel je travaille est malheureusement plus complexe - mais c'est l'essentiel.
Remplacez la ligne trois par 'using (mocks.Ordered())' pour que la syntaxe soit correcte. –
Ah, c'est vrai. Ok, je l'ai mis à jour, merci :) – womp