2012-05-08 15 views
8

Eventuali duplicati:
How to mock a method that returns an int with MOQUtilizzando Moq stub un metodo di interfaccia

Ecco la mia interfaccia:

public interface ICalenderService 
    { 
     DateTime Adjust(DateTime dateToAdjust, BusinessDayConvention convention, List<HolidayCity> holidayCities); 
    } 

Ho fatto qualche ricerca e sembra si può mock questo reale facilmente, ma voglio stub questo usando Moq in modo che io possa passare lo stub negli altri miei costruttori di classi e avere lo stub return qualunque sia il DateTime che voglio per il suo metodo Adjust.

Qual è il modo più semplice per farlo?

Edit: so che posso creare il mio stub nel mio progetto, ma mi piacerebbe scrivere meno codice, e penso che Moq possa permettermi di farlo, semplicemente non so come sia la sintassi.

+0

Non penso che questa domanda sia un duplicato. L'esempio nell'altra domanda aveva un metodo senza parametri, ma il metodo su questa interfaccia espone tre parametri che dovrebbero essere presi in giro. –

risposta

14

Impostare il mozzicone in questo modo:

var calendarServiceStub = new Mock<ICalenderService>(); 

calendarServiceStub 
    .Setup(c => c.Adjust(It.IsAny<DateTime>(), It.IsAny<BusinessDayConvention>(), It.IsAny<List<HolidayCity>>())) 
    .Returns(theDateTimeResultYouWant); 

Passo calendarServiceStub.Object al costruttore del all'altra classe.

+0

grazie mille !! – slandau

Problemi correlati