I found this article :
http://www.neovolve.com/post/2009/08/07/Mocking-IUnityContainer-and-avoiding-BadImageFormatException.aspx

which explains ... There is an issue with mocking IUnityContainer from
RhinoMocks. A BadImageFormatException is thrown when you attempt to
create a mock or a stub of IUnityContainer.

There is a workaround, in which we can use
GenerateMock<UnityContainerBase> or GenerateMock<UnityContainer>
instead.

However, this then gives me an altogether different error

        private const string MessageSent = "Services Module
Initialized";

        [Test]
        public void
WhenInstantiated_ShouldCallIStatusMessageServicePublishMessage()
        {
            var unity = MockRepository.GenerateStub<UnityContainer>();

            var aggregator =
MockRepository.GenerateStub<IEventAggregator>();
            var service =
MockRepository.GenerateStub<IStatusMessageService>();
            var region = MockRepository.GenerateStub<IRegionManager>
();

            unity.Stub(container => container.Resolve<IEventAggregator>
()).Return(aggregator);
            unity.Stub(container =>
container.Resolve<IStatusMessageService>()).Return(service);

            new ServicesModule2(unity, region).Initialize();

            unity.AssertWasCalled(container =>
container.Resolve<IStatusMessageService>());
            unity.AssertWasCalled(container =>
container.Resolve<IEventAggregator>());
            service.AssertWasCalled(messageService =>
messageService.PublishStatusMessage(MessageSent));
        }


System.InvalidCastException: Unable to cast object of type
'ObjectProxy4e0d754fae4247b5b42d4589f74e77b1' to type
'Microsoft.Practices.Composite.Events.IEventAggregator'.

Which is thrown from the following line of code:

         unity.Stub(container => container.Resolve<IEventAggregator>
()).Return(aggregator);
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Rhino.Mocks" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rhinomocks?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to