2016-03-29 49 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