2010-09-15 4 views
33

Ho letto la domanda allo What is the purpose of Verifiable() in Moq? e ho questa domanda nella mia mente. Ho bisogno del tuo aiuto per spiegarlo.Qual è lo scopo di VerifyAll() in Moq?

+2

Ricordate che non si dovrebbe essere sovrapponendo afferma nella tua Arrange. Dovresti essere assertivo. Quindi non usare Verify o VerifyAll - è il modo sbagliato di pensarci. http://stackoverflow.com/questions/980554/what-is-the-purpose-of-verifiable-in-moq/1728496#1728496 –

risposta

41

VerifyAll() serve per verificare che tutte le aspettative siano state rispettate. Supponiamo di avere:

myMock.Setup(m => m.DoSomething()).Returns(1); 
mySut.Do(); 
myMock.VerifyAll(); // Fail if DoSomething was not called 

HTH

+15

Questo non illustra molto bene il diff tra V e VA (che è ciò che l'OP chiesto), vero? –

+1

Si utilizza Verifica quando è possibile utilizzare la sintassi AAA e quando non è necessario impostare le aspettative sull'oggetto fittizio. – ema

+0

Volevo verificare se VerifyAll funziona con .Throws ()? –