Chcę napisać test, który weryfikuje mapowania w zamku windsor. Używam ASP MVC2, gdzie używam windsor zamku do mapowania moich repozytoriów.Testowanie mapowania Windsor Windsor w httpModules nie jest rejestrowane
Czytałem ten artykuł:
i na tej podstawie stworzyłem moje MS test
[TestMethod()]
public void GetContainerTest()
{
MooseMvc.Infrastructure.DependencyInjectionInitialiser target = new MooseMvc.Infrastructure.DependencyInjectionInitialiser(); // TODO: Initialize to an appropriate value
IWindsorContainer container = target.GetContainer();
foreach (IHandler assignableHandler in container.Kernel.GetAssignableHandlers(typeof(object)))
{
container.Resolve(assignableHandler.ComponentModel.Service);
}
}
dane dla target.getcontainer() realizuje
this._windsorContainer.Register(Component.For<TInterfaceType>()
.ImplementedBy(typeof(TConcreteType)).LifeStyle.PerWebRequest);
Otrzymuję wiadomość jak upadki:
Looks like you forgot to register the http module
Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule Add '<add
name="PerRequestLifestyle"
type="Castle.MicroKernel.Lifestyle.PerWebRequestLifestyleModule,
Castle.Windsor" />' to the <httpModules> section on your web.config.
If you're running IIS7 in Integrated Mode you will need to add it to
<modules> section under <system.webServer>
Dzięki! Dokładnie to, czego potrzebowałem. –
Haha, kilka miesięcy później przychodzę do tego samego zagadnienia w innym projekcie i rozwiązuje to dla mnie ponownie. Dzięki! PS Tylko pamiętaj, aby wykonać tę procedurę rejestracji zdarzenia ComponentModel zanim jakikolwiek Instalator lub Rejestr zadzwoni! –