首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >是否应该将FakesAssemblies文件添加到源代码管理中?

是否应该将FakesAssemblies文件添加到源代码管理中?
EN

Stack Overflow用户
提问于 2012-04-06 02:51:08
回答 2查看 2.7K关注 0票数 7

VS11中的新Fakes框架允许您在单元测试项目中创建程序集引用的伪(模拟或存根)实现。当程序集被伪造时,VS11为每个伪造程序集生成两个文件:

代码语言:javascript
运行
复制
/FakesAssemblies/[Project].Fakes.dll
/FakesAssemblies/[Project].Fakes.xml

是否应该将这些文件添加到源代码管理中?我的假设是没有,因为它们是自动生成的,但我想知道是否有人有其他的观点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-06 18:15:59

自动生成不应该成为存储库中存在的区别因素。毕竟,所有类型的自动生成的文件都经常出现在那里--例如设计器文件。

问题是,一直生成额外的fakes程序集可能很耗时。微软在guidelines上发表了一篇文章,告诉你如何优化:

编译Fakes程序集可以显著增加构建时间。通过在单独的集中式项目中为.NET System程序集和第三方程序集生成Fakes程序集,可以最大限度地缩短生成时间。由于此类程序集在您的计算机上很少更改,因此您可以在其他项目中重用生成的Fakes程序集。

因此,很少改变的,基于.NET整装库/第三方的假程序集应该是存储库的一部分,以加快构建过程。那些基于你自己的代码的代码可能是最好的动态生成的。

票数 6
EN

Stack Overflow用户

发布于 2016-04-30 08:50:26

根据http://hamidshahid.blogspot.com.au/2012/11/microsoft-fakes-framework.html的说法

编译项目时会生成"FakesAssemblies“文件夹和其中的所有文件。这一点很重要,因为如果要为更改组件的组装添加FakesAssemblies,生成的fake将确保所有更改都反映在生成的组装中。

在.gitignore中也可以使用in GitHub it is recommended来排除它们

代码语言:javascript
运行
复制
# Microsoft Fakes
FakesAssemblies

如果您在构建过程中担心生成时间,则可以仅指定所需的内容和disable stubs

代码语言:javascript
运行
复制
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>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10034285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档