2012-08-31 4 views
7

SUT 팩토리로 Autofixture를 사용 중이며 null 인스턴스를 고정하는 데 어려움이 있습니다.AutoFixture에서 null 인스턴스를 고정 할 수있는 방법

_fixture.Freeze<IPayPalConfiguration>(c => null); 

을하지만 신속하게 잘못 깨달았다 :

내가 좋아하는 일을하고 싶습니다. 나는이 문제를 해결하기 위해 다음을 사용하여 작업했다 :

_fixture.Inject((IMyInterface)null); 

그러나 올바르게 보이지 않는다.

누군가가 HiveMind에 올바른 해결책을 제공하기를 바랍니다.

답변

6

는 내부적으로 Freeze는 요청 유형 (예를 들어, IPayPalConfiguration)의 인스턴스를 생성하고 다시 요청할 때 항상 해당 인스턴스를 반환합니다 있도록 다음 를 주입한다.

_fixture.Inject((IPayPalConfiguration)null)을 사용하여 수동으로 null 참조를 삽입하면 Freeze 메서드의 생성 부분을 건너 뜁니다. 동결IPayPalConfiguration을 하나의 값 (실제로는 null 참조)이지만 수동으로 지정하십시오. 이 _fixture.Freeze<IPayPalConfiguration>(c => null)IPayPalConfiguration와 경우 ArgumentNullException이 발생되는 이유를 해결하려고합니다 방법에 대한 null 참조를 전달하는

염두에 두십시오.

+0

의견을 보내 주셔서 감사 드리며 적어도 내가 잘못한 것을하지 않았 음을 확인해주십시오. –