2016-03-29 22 views
1

我正在使用FakeItEasy在单元测试内嘲弄某些东西,但不知何故,我无法设置 非常基本的场景。即。我想在特定用户访问某个方法时抛出异常。帮助将是不错...谢谢如何设置针对mock的特定呼叫?

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

回答

2

尝试存根后删除Verify()方法,像这样:

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

伟大的工作的感谢,验证()是CanIDoFancyThings的方法()返回。 – eugeneK

+0

@eugeneK嗯,我从来没有使用过_FakeItEasy_,所以我认为它有_Moq_中的'Verify'方法,如:+1 :.这不是正确的答案吗?XD –

+0

@ Joel Ramos Michaliszen然后回答是对的,因为这是我在代码中遗漏的。 A.CallTo就像在moq中验证一样。 – eugeneK