2016-03-29 1 views
1

J'utilise FakeItEasy pour simuler des choses dans des tests unitaires mais de toute façon je ne parviens pas à mettre en place scénario assez basique. c'est à dire. Je veux lancer une exception quand un utilisateur spécifique accède à une méthode. Aide serait bien ... merciComment configurer un appel spécifique pour des simulacres?

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

Répondre

2

Essayez de supprimer la méthode Verify() après le talon, comme celui-ci:

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

merci Great travail, verify() est la méthode des rendements CanIDoFancyThings(). – eugeneK

+0

@eugeneK Hum, je ne suis jamais utilisé _FakeItEasy_, donc je pensais qu'il avait la méthode 'Verify' comme dans _Moq_,: +1 :. N'est-ce pas la bonne réponse? XD –

+0

@ Joel Ramos Michaliszen alors la réponse est juste parce que c'est ce que j'ai manqué dans le code. A.CallTo est comme Verify dans moq. – eugeneK