我正在使用moles为我的团队使用的遗留代码生成模拟类。是否可以排除程序集中的某些类被moled?对于遗留代码中的一些自动生成的类,我遇到了很多错误,我希望将其排除在moled之外。
答案 0 :(得分:4)
要在存根/鼹鼠生成中包含和排除类型,您需要修改程序集的.moles文件。虽然参考手册的“类型过滤”部分仅描述了StubGeneration
元素,但也有MoleGeneration
元素,其工作方式类似但管理摩尔生成。
要从存根和mole生成中排除类型,请在Remove
元素中指定类型名称,以便程序集的.moles文件如下所示:
<Moles xmlns="http://schemas.microsoft.com/moles/2010/" Diagnostic="true">
<Assembly Name="your_assembly" />
<StubGeneration>
<Types>
<Remove FullName="Your.Type.Full.Name!" />
</Types>
</StubGeneration>
<MoleGeneration>
<Types>
<Remove FullName="Your.Type.Full.Name!" />
</Types>
</MoleGeneration>
</Moles>
以下是如何仅针对一个类Your.Type.Full.Name
启用存根和摩尔生成:
<Moles xmlns="http://schemas.microsoft.com/moles/2010/" Diagnostic="true">
<Assembly Name="your_assembly" />
<StubGeneration>
<Types>
<Clear />
<Add FullName="Your.Type.Full.Name!" />
</Types>
</StubGeneration>
<MoleGeneration>
<Types>
<Clear />
<Add FullName="Your.Type.Full.Name!" />
</Types>
</MoleGeneration>
</Moles>