2012-06-08 91 views
3

我僞造一個IDbConnection,我想僞造QueryOne<T>()(一個Dapper擴展名)的電話,但我這樣做的時候得到了NullReferenceException如何使用FakeItEasy僞造一個通用的方法調用?

Here's我的代碼:

IDbConnection myConnection = A.Fake<IDbConnection>(); 


A.CallTo(() => myConnection.QueryOne<MyDto>(A<string>.Ignored, <IDbConnection>.Ignored, A<IDbTransaction>.Ignored)) 
.Returns(new MyDto()); 

是不是有可能在嘲笑一個FakeItEasy泛型方法調用或爲什麼我得到異常?

在此先感謝...

基督教

回答

5

因爲小巧玲瓏的使用擴展的方法來提供其功能和擴展以來方法只是花哨的靜態方法,我不認爲你可以得到這個上班。從我讀過的內容(見question)FakeItEasy不能攔截靜態方法。

+0

事實上,擴展在單元測試中表現不佳。我的建議是,使用一個界面來模擬你製作的短小精靈的調用,並根據這些界面進行編程,使你的單元測試更容易編寫。 –

相關問題