2016-03-29 9 views
1

Ich benutze FakeItEasy, um Zeug in Unit-Tests zu verspotten, aber irgendwie schaffe ich es nicht, ziemlich grundlegendes Szenario einzurichten. dh. Ich möchte eine Ausnahme auslösen, wenn ein bestimmter Benutzer auf eine Methode zugreift. Hilfe wäre schön ... dankWie konfiguriere ich bestimmte Anrufe für Mocks?

A.CallTo(() => m_fancyRepository 
       .CanIDoFancyThings(A<User> 
        .That 
        .Matches(u => u.Id.Equals(m_user.Id))) 
       .Verify()) 
       .Throws(new Exception("omg !!! ???!")); 

Antwort

2

Versuchen Sie, die Verify() Methode nach dem Stummel zu entfernen, wie folgt aus:

A.CallTo(() => m_fancyRepository.CanIDoFancyThings(
      A<User>.That.Matches(u => u.Id.Equals(m_user.Id)))) 
      .Throws(new Exception("omg !!! ???!")); 
+0

Great job Dank, Verify() ist Methode der CanIDoFancyThings() zurückkehrt. – eugeneK

+0

@eugeneK Hum, ich werde nie benutzt _FakeItEasy_, also dachte ich, es hätte die Verify-Methode wie in _Moq_,: +1 :. Ist das nicht die richtige Antwort? XD –

+0

@ Joel Ramos Michaliszen dann ist die Antwort richtig, denn das habe ich im Code verpasst. A.CallTo ist wie Verify in moq. – eugeneK

Verwandte Themen