2014-09-25 3 views
1

솔루션 레벨이나 테스트 러너에서 모든 테스트를 실행할 때 실패하는 7 가지 유닛 테스트가 있지만 프로젝트 레벨에서 테스트를 실행하거나 테스트 러너 내에서 프로젝트를 실행할 때 성공합니다.처음 실행시 단위 테스트가 실패하는 이유는 무엇입니까?

캐슬 윈저 컨테이너를 설치하면 해결할 수 있다고 테스트하려고합니다.

[TestFixture] 
public class Having_installed_the_request_processors 
{ 
    private IWindsorContainer _container; 

    [SetUp] 
    public void Setup() 
    { 
     _container = new WindsorContainer(); 
     _container.Install(FromAssembly.Containing<RequestProcessorInstaller>()); 
    } 

    [TearDown] 
    public void Teardown() 
    { 
     ((WindsorContainer)this._container).Dispose(); 
     _container = null; 
    } 

    [Test] 
    public void can_resolve_the_job_status_request_processor() 
    { 
     Assert.That(_container.Resolve<IJobStatusRequestProcessor>(), Is.Not.Null); 
    } 
} 

이 오류가 반환됩니다

설정 : Castle.MicroKernel.SubSystems.Conversion.ConverterException는 'Castle.Services.Logging.Log4netIntegration.Log4netFactory, Castle.Services을 문자열을 변환 할 수 없습니다. Logging.Log4netIntegration, 버전 = 3.3.0.0, 문화 = 중립, PublicKeyToken = 407dd0808d44fbdc '형식으로. 어셈블리를 찾을 수 없습니다. 배포되었는지와 이름을 잘못 입력했는지 확인하십시오.

내 테스트 프로젝트의 코드는 내 프로덕션 코드 (예상대로 작동하는 것처럼 보임)에서 확인할 수 있습니다.

위와 관련된 문제가 있습니까? 테스트가 전술 한 방식으로 성공하는 이유는 무엇입니까?

+0

을 찾고 주셔서 감사합니다 서로 다른 어셈블리를 사용할 수있는 다른 디렉토리에서 다른 방식으로 실행 중입니다. 그 이론을 테스트하는 방법을 모르겠다. – Sign

답변

0

나는 이것이 약간의 참조의 방향을 변경하여 서로를 참조하는 솔루션에서 프로젝트가 문제를 해결하는 방법에 의한 것으로 확인 - 당신이 그것을 실행할 때 그것은 것 같다

관련 문제