2012-04-05 46 views
5

VS11の新しいFakesフレームワークでは、Unit Testプロジェクトでアセンブリ参照の擬似(モックまたはスタブ)実装を作成できます。アセンブリが偽装されると、VS11は各偽のファイルを2つ生成します。FakesAssembliesファイルをソース管理に追加する必要がありますか?

/FakesAssemblies/[Project].Fakes.dll 
/FakesAssemblies/[Project].Fakes.xml 

これらのファイルをソース管理に追加する必要がありますか?彼らは自動生成されているので、私の前提はいいえ、誰も他の意見を持っていたかどうか疑問に思っています。

答えて

5

自動生成されると、リポジトリ内に存在するかどうかを区別するべきではありません。結局のところ、自動生成されたすべての種類のファイルは、かなり頻繁にそこに存在します。例えば、デザイナーファイルです。

問題は、余分な偽のアセンブリを生成することは、時間がかかることがあります。マイクロソフトは、投稿、あなたがそれを最適化しようとすることができる方法についてのguidelines

偽物アセンブリのコンパイルが大幅にビルド時間を増やすことができます。 .NET Frameworkアセンブリおよびサードパーティアセンブリ用のFakeアセンブリを別の集中プロジェクトで生成することで、構築時間を最小限に抑えることができます。このようなアセンブリはマシン上でほとんど変更されないため、生成されたFakeアセンブリを他のプロジェクトで再利用できます。

したがって、.NET FCL /サードパーティベースの偽のアセンブリは、ビルドプロセスを高速化するためにリポジトリの一部である必要があります。あなた自身のコードに基づいたものはおそらく、その場で最もよく生成されます。

1

http://hamidshahid.blogspot.com.au/2012/11/microsoft-fakes-framework.html

「FakesAssemblies」フォルダによると、プロジェクトがコンパイルされるたびにその中のすべてのファイルが を生成しています。変更するコンポーネントの組み立てのために 偽物を追加する場合、 FakesAssembliesを生成すると、生成されたアセンブリ にすべての変更が確実に反映されるため、これは重要です。あなたは、ビルド時に生成時の心配場合も

in GitHub it is recommended .gitignore

# Microsoft Fakes 
FakesAssemblies 

でそれらを除外するために、あなたが必要なものだけを指定し、disable stubs

mscorlib.fakes: 
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="mscorlib" Version="4.0.0.0" /> 
    <StubGeneration Disable="true"/> 
    <ShimGeneration> 
    <Clear /> 
    <Add FullName="System.Environment"/> 
    <Add FullName="System.TimeZoneInfo"/> 
    <Add FullName="System.DateTime"/> 
    </ShimGeneration> 
</Fakes> 
System.fakes: 
<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/"> 
    <Assembly Name="System" Version="4.0.0.0"/> 
    <StubGeneration Disable="true" /> 
    <ShimGeneration Disable="true" /> 
</Fakes> 
することができます
関連する問題