Come posso testare il seguente metodo?Come si esegue il test del codice dell'unità che crea un nuovo processo?
È un metodo su un'implementazione di classe concreta di un'interfaccia.
Ho imbustato la classe Process
con un'interfaccia che espone solo i metodi e le proprietà di cui ho bisogno. La classe ProcessWrapper
è l'implementazione concreta di questa interfaccia.
public void Initiate(IEnumerable<Cow> cows)
{
foreach (Cow c in cows)
{
c.Process = new ProcessWrapper(c);
c.Process.Start();
count++;
}
}
Sto usando Moq ma non sono sicuro di come lo deriderei. Come lo faresti in TypeMock? – Schotime
TypeMock è unico in quanto modifica l'IL, che consente di simulare entità che altrimenti non potresti deridere. Consiglierei comunque l'approccio di iniezione prima, ma se questo non è possibile, potresti guardare a TypeMock. –