2010-09-15 1 views
33

Ich habe die Frage an What is the purpose of Verifiable() in Moq? gelesen und habe diese Frage in meinen Gedanken. Brauche deine Hilfe, um das zu erklären.Was ist der Zweck von VerifyAll() in Moq?

+2

Denken Sie daran, dass Sie nicht in Ihrem Vereinbaren Asserts werden Aufstapeln sollte. Sie sollten Asserting sein. Verwenden Sie daher weder Verify noch VerifyAll - es ist der falsche Weg, darüber nachzudenken. http://StackOverflow.com/Questions/980554/what-is-the-purpose-of-verifyable-in-moq/1728496#1728496 –

Antwort

41

VerifyAll() ist für die Überprüfung, dass alle Erwartungen erfüllt wurden. Sie Angenommen haben:

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

HTH

+15

Dies zeigt nicht die Unterschiede zwischen V und VA sehr gut (was ist das OP gefragt nach), oder? –

+1

Sie verwenden Verify, wenn Sie die AAA-Syntax verwenden können und wenn Sie keine Erwartung für das Mock-Objekt einrichten müssen. – ema

+0

Wollte überprüfen, ob VerifyAll mit .Throws () arbeitet? –