Wie schütze ich geschützte virtuelle Mitglieder in FakeItEasy?

8

Moq ermöglicht das Mocking geschützter virtueller Mitglieder ( hier ). Ist es möglich, das gleiche in FakeItEasy zu tun?

    
Daniel Rose 18.03.2011, 11:32
quelle

2 Antworten

24

Es kann gemacht werden, aber es kann nicht aus der Box gemacht werden. Der Trick besteht darin, IFakeObjectCallRule zu implementieren und es durch Fake.GetFakeManager (foo) .AddRule (myRule) zu Ihrer Fälschung hinzuzufügen.

Ich denke darüber nach, dieses Feature zu implementieren, aber es wäre etwa so:

A.CallTo (foo) .WhereMethod (x = & gt; x.Name == "MyProtectedMethod"). Gibt ("was auch immer") zurück;

Die Syntax ist jedoch noch nicht sehr raffiniert.

Bearbeiten Das oben erwähnte Feature ist jetzt implementiert:

%Vor%     
Patrik Hägne 20.03.2011, 16:38
quelle
12

Zusätzlich zu Patriks Antwort dachte ich, dass es in diesem Beitrag relevant wäre, einen Tipp hinzuzufügen, wie Sie ein geschütztes Mitglied der Eigenschaft vortäuschen könnten:

%Vor%

Dies ist die Art und Weise, in der die Reflektion Getter-Methoden von Eigenschaften behandelt.

Ich hoffe, es hilft:)

    
Shay Ben-Sasson 01.09.2012 11:30
quelle

Tags und Links