我希望,例如[assembly: MoledType(typeof(System.DateTime))]
只生成mscorlib.Moles
System.Moles.MDateTime
程序集,但生成的程序集包含mscorlib
moled中的所有类型。这是正常的还是记录在案的行为(我在http://research.microsoft.com/en-us/projects/pex/molesmanual.pdf中找不到答案)?
答案 0 :(得分:0)
是的,这是预期的功能。 mscorlib是预编译的。在预编译发布之前,第一个Moles编译需要很长时间。由于无法选择性地剔除框架类型,因此交易时间较快。因为mole组件基本上是一个填充了func调用mscorlib的巨型包装器,所以提供框架范围的覆盖对性能的贡献非常小,因此是可接受的交易。
答案 1 :(得分:0)
您通常可以在.moles文件中提供许多过滤器选项(mscorlib是您发现的例外,Mike提到过)。例如,您可以分别与StubGeneration或MoleGeneration元素一起禁用stub或mole类型生成。要获得更多控制,您还可以将Types元素与Add,Remove和Clear元素结合使用。
Moles参考手册详细介绍了第12页和第13页的过滤存根类型。不幸的是,它没有提及过滤Mole类型,但过程基本相同。