Moles 摩尔创建并不会创建所有对象

Moles 摩尔创建并不会创建所有对象,moles,Moles,在尝试为一些单元测试创建一个mole时,我注意到一些函数没有被“mole”。某些函数出现在xxx.moles.xml文件中,而其他函数则没有 为了解决这个问题,我尝试重新安装“Pex和Moles”,删除MolesAssembly文件夹中的文件,重新启动计算机,等等 最后,我打开了一个控制台窗口,从命令提示符下运行moles.exe命令 "c:\program files\microsoft moles\bin\moles.exe" assembly.dll /op:"MolesAssemblie

在尝试为一些单元测试创建一个mole时,我注意到一些函数没有被“mole”。某些函数出现在xxx.moles.xml文件中,而其他函数则没有

为了解决这个问题,我尝试重新安装“Pex和Moles”,删除MolesAssembly文件夹中的文件,重新启动计算机,等等

最后,我打开了一个控制台窗口,从命令提示符下运行moles.exe命令

"c:\program files\microsoft moles\bin\moles.exe" assembly.dll /op:"MolesAssemblies" /msbuild:"c:\windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe"
我第一次运行此命令时,收到一条消息:

Moles:信息:编译:程序集元数据哈希未更改, 跳过代码生成

删除MolesAssemblies文件夹中的moles后,我再次运行moles.exe命令,我的所有函数现在都显示在xxx.moles.dll和xxx.moles.xml文件中


有人知道为什么在Visual Studio 2010内部构建时,mole生成不起作用,但在命令提示符下却可以完美地工作吗?

我发现了问题……我以前修改过.moles文件,只添加了某些类。我只需要添加更多的“TypeName”,并包含了类/函数

使用moles.exe命令“工作”的原因是我没有使用.moles文件(我只是引用了程序集)。我更改了moles.exe的参数以包括.moles文件和程序集,结果与Visual Studio生成的输出相同。当我注意到代码的其他部分被破坏时,我意识到.moles文件是不正确的

我有过这样的经历

<Moles xmlns="http://schemas.microsoft.com/moles/2010/" >
  <Assembly Name="Assembly.name" />
    <StubGeneration>
        <Types>
            <Clear />
            <Add FullName="Fullname_1_0" />
        </Types>
    </StubGeneration>
    <MoleGeneration>
        <Types>
            <Clear />
            <Add FullName ="Fullname_1_0" />
        </Types>
    </MoleGeneration> 
</Moles>

我需要第二次“添加”

<Moles xmlns="http://schemas.microsoft.com/moles/2010/" >
  <Assembly Name="Assembly.name" />
    <StubGeneration>
        <Types>
            <Clear />
            <Add FullName="Fullname_1_0" />
        </Types>
    </StubGeneration>
    <MoleGeneration>
        <Types>
            <Clear />
            <Add FullName ="Fullname_1_0" />
            <Add TypeName="AdditionalClass"/>
        </Types>
    </MoleGeneration> 
</Moles>

在修改已安装的组件后,确保重新构建测试项目。在测试项目上使用“clean”操作也可以解决此问题