2014-02-17 11 views
1

저는 처음으로 Moles를 사용하려고합니다. System.Windows.Forms에 Moles 어셈블리를 추가하려고하면 System.Collections.Generic.IReadOnlyCollection 및 IReadOnlyList에 대한 참조가있는 코드가 생성됩니다.이 코드는 .NET Framework 4.5에만 있고 프로젝트는 모두 4.0이므로 컴파일되지 않습니다. VS2010. 특정 버전의 어셈블리 참조를 설정했지만 도움이되지 않았습니다. 어떤 아이디어?Moles and System.Windows.Forms

+0

가 왜 윈폼 몰을 추가하려면? 일반적으로 Unit 테스트 프로젝트에서이를 참조해야합니다. – Dannydust

+0

하지만 Moles는 VS 2010에서 VS 2010을 사용하기 때문에 Fakes afaik를 사용해야하므로 이상한 점을 언급합니다. 따라서 두더지가 .Net Fx 4.5 클래스에 대한 참조를 필요로한다는 것은 말이되지 않습니다. – Dannydust

+0

@ 대니 더스트 내가 테스트중인 코드는 BizTalk 어댑터의 구성 UI입니다. MMC에서 BizTalk 프레임 워크에 의해 실행되는 dll이므로 MessageBox.Show를 호출하여 사용자에게 오류를 표시 할 수 있습니다. 나머지 기능을 테스트하고 싶지만이 호출을 모의하고 싶습니다. Visual Studio 2010에서만 지원되는 BizTalk 2010이므로 Fake를 사용할 수 없습니다. VS2012도 설치하지 않았습니다. – Bert

답변

1

Visual Studio 2012에서 Moles를 실행하는 경우 명시 적으로 특정 어셈블리와 형식을 제외해야합니다.

여기에 나를 위해 작동 내용은 다음과 같습니다

<Assembly Name="System.Windows.Forms" ReflectionOnly="true"/> 
<StubGeneration> 
    <Types> 
     <Clear /> 
     <Add FullName="Your.Type.Full.Name!" /> 
    </Types> 
</StubGeneration> 
<MoleGeneration> 
    <Types> 
     <Clear /> 
     <Add FullName="Your.Type.Full.Name!" /> 
    </Types> 
</MoleGeneration> 
+0

죄송합니다. 그건 효과가 있어요. 감사. – Bert