1
시험은 아래의 마지막이 메시지와 Assert()
실패 : "ARG2" 그러나이었다 : 예상 "ARG1은"Windsor의 Typed Factory가 생성자 인수로 전달 된 이유는 처음입니까?
그것은 "arg1"
이 처음 통과 할 때 보인다 -이 기억 공장을 입력하고 두 번째 통화에서 "arg2"
무시합니다. 왜?
public class E
{
public string Arg { get; set; }
public E(string arg)
{
Arg = arg;
}
}
public interface IEFactory
{
E Create(string arg);
}
[Test]
public void TypedFactoryWorksAsExpected()
{
var windsor = new WindsorContainer();
windsor.Kernel.AddFacility<TypedFactoryFacility>();
windsor.Register(
Component.For<E>(),
Component.For<IEFactory>().AsFactory());
var factory = windsor.Resolve<IEFactory>();
var e1 = factory.Create("arg1");
var e2 = factory.Create("arg2");
Assert.AreEqual("arg1", e1.Arg);
// This line fails with message:
// 'Expected: "arg2" But was: "arg1".'
Assert.AreEqual("arg2", e2.Arg);
}
그래, 내가 이미 알아 냈 내 자신의 대답을 기록했지만, 당신은 저를 상회했습니다. 참으로 정답입니다. –