ContextRegistry.GetContext().GetObject("ISomething")
을 호출하는 클래스를 테스트하는 단위이며, ISomething이 정의되어 있지 않은 것이 좋습니다. 그래서 저는 두 가지 방법으로 테스트하려고합니다. 이 정의는 일반적으로 app.config 파일에서 비롯된 것이므로 테스트간에이 파일을 편집하고 싶지는 않습니다. [TestFixtureSetUp] 및 [TestFixtureTearDown]을 사용하여 싱글 톤, 테스트를 등록한 다음 ' 등록을 취소하십시오.
...ObjectFactory.RegisterSingleton("ISomething", new SomethingMOCK());
그리고 거기에 있는지 확인할 수 있습니다.
if (...ObjectFactory.ContainsSingleton("ISomething"))
그러나 등록한 싱글 톤을 제거 할 수 없습니다. null을 사용하여 시도 :
...ObjectFactory.RegisterSingleton("ISomething", null);
하지만이 던졌습니다. 더 좋은 방법이 있습니까?
위대한 점 - 그리고 우리는 누가 스프링 레퍼런스를 요구했는지 추적 할 것을 스프링이 기대하거나 원하지 않을 것입니다. – n8wrl