Question

Cela peut ou peut ne pas être un problème multi-interface, mais je fais quelque chose comme ceci:

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

...

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

Sur la ligne Do Quelque chose à l'exécution, je reçois:

MyTest (TestFixtureSetUp): System.Reflection.TargetInvocationException: une exception a été levée par la cible d'un appel.

---- > System.TypeInitializationException: l'initialiseur de type de 'IInterface1Proxy184f83d417624e05b450fa40c2c5d35c' a renvoyé une exception.

---- > System.BadImageFormatException: Une tentative de chargement d'un programme avec un format incorrect a été effectuée. (Exception de HRESULT: 0x8007000B)

Est-ce que cela a quelque chose à voir avec le fait que je n'ai pas le bon code Expect, ou est-ce lié aux multiples interfaces de ma maquette, ou autre chose?

Était-ce utile?

La solution

J'ai trouvé ce lien:

ce qui semble indiquer qu'il s'agit d'un problème dans le DynamicProxy de Castle, utilisé par Moq (et RhinoMocks).

Autres conseils

Je sais que ce n'est pas une réponse en tant que telle, mais cela ressemble à un bogue dans MOQ. Quelle version utilisez-vous? Je viens d’essayer votre exemple avec 2.6 (2.6.1014.1) et je n’ai pas d’exception.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top