ho un metodo privato che dovrebbe restituire true.I m utilizzando NUnit e MOQ Così ho come segue:Come posso affermare/verificare un metodo protetto da Moq?
[TestFixture]
public class CustomerTestFixture
{
var customerMock=new Mock<ICustomer>()
customerMock.Protected().Setup<bool>("CanTestPrivateMethod").Returns(true);
// How do I assert it now since I cannot do
customerMock.Verify //Verify does not exists.
}
non ho trovato nulla su google che spiega come per testarlo. come puoi vedere posso fare un set up ma non posso affermarlo.
Mi manca l'ovvio? Molte grazie.
Grazie per la risposta. Voglio il mio mock up object.CanTestPrivateMethod per restituire valori specifici. Quindi se ho hardcode "return true" nel mio metodo privato. Posso ancora affermarlo? Dal mio punto di vista non dovrei assolutamente provare un metodo privato, ma il mio collega insiste su questo. Quindi sto solo cercando di capire come farlo usando MOQ. – user9969
Ti manca il mio punto. Non prendere in giro l'oggetto sotto test. Solo deriderne le dipendenze. Creare un'istanza reale, impostare le condizioni in modo che il metodo privato debba restituire un valore specifico, quindi utilizzare l'accessor per verificare che il metodo restituisca effettivamente tale valore. L'unica necessità per i mock sarebbe se l'istanza avesse alcune dipendenze che dovresti usare nel tuo metodo privato. – tvanfosson
Grazie per il vostro tempo e la risposta. Ho capito il punto ora. – user9969