Pregunta

Esto puede o no ser un problema de interfaz múltiple, pero estoy haciendo algo como esto:

var mockInterface1 = new Mock<IInterface1>();
var mockInterface2 = mockInterface1.As<IInterface2>();
mockInterface1.Expect( foo => foo.Foo(It.IsAny<IInterface3>() ) );

...

otherObject.DoSomething( (IInterface1)mockInterface2.Object );

En la línea DoSomething en tiempo de ejecución obtengo:

MyTest (TestFixtureSetUp): System.Reflection.TargetInvocationException: el destino de una invocación ha lanzado una excepción.

---- > System.TypeInitializationException: el inicializador de tipo para 'IInterface1Proxy184f83d417624e05b450fa40c2c5d35c' arrojó una excepción.

---- > System.BadImageFormatException: se intentó cargar un programa con un formato incorrecto. (Excepción de HRESULT: 0x8007000B)

¿Tiene esto algo que ver con que no tenga el código de Expect correcto, o está relacionado con las interfaces múltiples en mi simulacro, o algo más?

¿Fue útil?

Solución

Encontré este enlace: Tema del proyecto del castillo

que parece indicar que es un problema en el DynamicProxy de Castle, que es utilizado por Moq (y RhinoMocks).

Otros consejos

Sé que esta no es una respuesta como tal, pero suena como un error en MOQ. Qué versión estás usando? Acabo de probar su ejemplo con 2.6 (2.6.1014.1) y no obtengo una excepción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top