【发布时间】:2011-11-02 22:46:01
【问题描述】:
我为我的解决方案创建了一个单元测试项目,并使用 Moles 来绕过所有数据读取。 今天我启动所有测试时,最终结果是这样的错误“无法加载主机类型“Moles”:找不到密钥“Moles”。对于每个包含属性 HostType("Moles") 的测试。
我不明白问题的原因,因为我用的是三个月前的 Moles,我从来没有遇到过这种问题。
谢谢!!!
【问题讨论】:
标签: moles pex-and-moles
我为我的解决方案创建了一个单元测试项目,并使用 Moles 来绕过所有数据读取。 今天我启动所有测试时,最终结果是这样的错误“无法加载主机类型“Moles”:找不到密钥“Moles”。对于每个包含属性 HostType("Moles") 的测试。
我不明白问题的原因,因为我用的是三个月前的 Moles,我从来没有遇到过这种问题。
谢谢!!!
【问题讨论】:
标签: moles pex-and-moles
这是一个非常古老的问题,提问者现在可能已经找到了解决方案,但由于这是 Google 中此错误的首批结果之一,因此我发现了以下内容:
我(和许多其他人似乎)在运行依赖于 Moles 的 64 位测试时遇到了这个问题。
首先,确保您安装了正确的“位数”痣。 moles 框架有 x86 和 x64 版本。根据我的经验,安装在 64 位机器上的 32 位框架实际上看起来一切正常,但您的测试将无法运行。您可以在此处安装 64 位框架:
我建议在安装之前关闭 VS 2010,但我不知道它是否有什么不同。
接下来,以一种或另一种方式确保您的 Moles 托管测试在需要时使用 64 位。为此,我将测试主机设置为“默认”,但在测试项目的 AssemblyInfo.cs 文件中设置以下内容:
[assembly: MolesAssemblySettings(Bitness = MolesBitness.x64)]
然后,仅针对我想在 Moles 中运行的测试,我在测试方法中添加了这个属性:
[HostType("Moles")]
在此之后,一切都对我有用。
【讨论】: