我为我的解决方案创建了一个单元测试项目,并使用Moles绕过所有数据读取。当我今天启动所有测试时,结果是这样的错误:“无法加载主机类型"Moles”:找不到密钥'Moles‘。“对于每个包含属性HostType("Moles")的测试。
我不明白问题的原因,因为我使用的是三个月前的Moles,我从来没有遇到过这样的问题。
谢谢!
发布于 2013-10-29 02:40:12
这是一个非常古老的问题,发问者现在可能已经找到了解决方案,但由于这是Google中这个错误的第一个结果,下面是我发现的:
我(似乎还有其他许多人)在运行依赖于Moles的64位测试时遇到了这个问题。
首先,确保您安装了正确的moles "bitness“。moles框架有x86和x64两个版本。我的经验是,安装在64位机器上的32位框架实际上看起来一切正常,但您的测试将不会运行。您可以在此处安装64位框架:
Moles 64 bit Framework
我建议在安装之前关闭VS2010,但我不知道这是否会有什么不同。
接下来,确保您的Moles托管测试使用64位(如果需要的话)。为此,我将测试主机保留为"Default",但在测试项目的AssemblyInfo.cs文件中设置了以下内容:
[assembly: MolesAssemblySettings(Bitness = MolesBitness.x64)]然后,仅对于我想在Moles中运行的测试,我将此属性添加到测试方法中:
[HostType("Moles")] 在这之后,一切都对我起作用了。
https://stackoverflow.com/questions/7988245
复制相似问题