Kale Windsor tescili hakkındaki şu andaki anlayışım, yalnızca bir kök bileşeninde Resolve'u arayarak kaydı doğrulayabilmesidir. Ancak, Windsor'un bileşen modeli her bileşenin bağımlılıklarını bildiğinden, tüm bağımlılıkların gerçekten bir şey ortaya çıkarmadan tatmin edilebildiğini test etmek mümkün olmalıdır. Bunu yapmak için ana neden, başlangıçta harici kaynakları çağıran bileşenleri saplamamı gerektirmeyen bir kayıt için bir birim testine sahip olmaktır. Örneğin,Castle Windsor: Çözümü bir çağrı olmadan tescil etmenin bir yolu var mı?
. Ben iKapak Mandalında Çocuk bağımlılık üzerinde bir kök sınıfı vardır:
public class Root : IRoot
{
private IChild child;
public Root(IChild child)
{
this.child = child;
}
}
Ben IRoot olarak Kök kayıt varsa, ancak bir iKapak Mandalında Çocuk kayıt yoktur. Böyle azmini aradığında: gibi bir şey
MyNamespace.Root is waiting for the following dependencies:
Services:
- MyNamespace.IChild which was not registered.
var mı:
var container = new WindsorContainer().Register(
Component.For<IRoot>().ImplementedBy<Root>()
);
container.Resolve<IRoot>();
bir hata alıyorum bağımlılık grafiği yürümek ve kontrol ediyorum
container.TestResolve<IRoot>();
tüm bağımlılıkları olabilir ki tatmin olmak, ama aslında bir şey ortaya çıkarmıyor?
güzel test yöntemi :) – bevacqua
bu kod artık derler .Diagnostics.IDiagnosticsHost.GetDiagnostic() '. 'Castle.Windsor.Diagnostics.IPotentiallyMisconfiguredComponentsDiagnostic' ifadesinden 'Castle.Windsor.Diagnostics.IDiagnostic
Peri, kod benim için derler, Kale 3.2'nin altında .net 4 – samy