Moq вопрос о мультиинтерфейсе - PullRequest
3 голосов
/ 20 ноября 2008

Это может быть или не быть проблемой мультиинтерфейса, но я делаю что-то вроде этого:

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

...

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

В строке DoSomething во время выполнения я получаю:

MyTest (TestFixtureSetUp): System.Reflection.TargetInvocationException: исключение было выдано целью вызова.

----> System.TypeInitializationException: инициализатор типа для 'IInterface1Proxy184f83d417624e05b450fa40c2c5d35c' вызвал исключение.

----> System.BadImageFormatException: была предпринята попытка загрузить программу с неверным форматом. (Исключение из HRESULT: 0x8007000B)

Это как-то связано с тем, что у меня нет нужного кода Expect, или это связано с несколькими интерфейсами в моем макете, или с чем-то еще?

Ответы [ 2 ]

4 голосов
/ 21 ноября 2008

Я нашел эту ссылку: Тема замкового проекта

, что, похоже, указывает на проблему в DynamicProxy Касла, который используется Moq (и RhinoMocks).

0 голосов
/ 20 ноября 2008

Я знаю, что это не ответ как таковой, но он звучит как ошибка в MOQ. Какую версию ты используешь? Я только что попробовал ваш пример с 2.6 (2.6.1014.1), и я не получаю исключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...