문제

Autofac에 등록 된 많은 유형이 있으며 일부 종속성은 다소 깊습니다. 등록 된 모든 유형을 해결할 수있는 테스트 방법이 있습니까? 나는 응용 프로그램 시작에서 빠르게 실패하고 몇 분 후에는 나중에 들어가고 싶다.

이것이 제가 현재하고있는 일이며 효과가있는 것 같습니다. 그러나 더 나은 방법이 없는지 여전히 궁금합니다.

    public void VerifyAllRegistrations()
    {
        foreach (IComponentRegistration registration in _container.ComponentRegistrations)
        {
            bool isNewInstance;
            registration.ResolveInstance(_container, new Parameter[0], new Disposer(), out isNewInstance);
        }            
    }

    private class Disposer : IDisposer
    {
        public void Dispose()
        {
            // no-op
        }

        public void AddInstanceForDisposal(IDisposable instance)
        {
            instance.Dispose();
        }
    }
도움이 되었습니까?

해결책

AutoFAC는 해당 효과에 아무것도 제공하지 않습니다. AutoFac은 ResolveInstance에 대한 응답으로 구성 요소를 생성하기 때문에 생성자 부작용 등에 직면하게됩니다.

통합 테스트가이를 해결하는 가장 좋은 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top