¿Cómo falsificar una llamada a un método genérico usando FakeItEasy?

dapper fakeiteasy generics

Pregunta

Estoy fingiendo un IDbConnection y quiero falsificar la llamada a QueryOne<T>() (una extensión Dapper ) pero obtengo una NullReferenceException al hacerlo.

Aquí está mi código:

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


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

¿No es posible burlarse de una llamada a método genérico en FakeItEasy o por qué recibo la excepción?

Gracias por adelantado...

cristiano

Respuesta aceptada

Dado que Dapper usa métodos de extensión para proporcionar su funcionalidad y dado que los métodos de extensión son solo métodos estáticos sofisticados, no creo que pueda hacer que esto funcione. Por lo que he leído (ver esta pregunta ) FakeItEasy no puede interceptar un método estático.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow