【问题标题】:The key 'Moles' cannot be found找不到关键的“痣”
【发布时间】:2011-11-02 22:46:01
【问题描述】:

我为我的解决方案创建了一个单元测试项目,并使用 Moles 来绕过所有数据读取。 今天我启动所有测试时,最终结果是这样的错误“无法加载主机类型“Moles”:找不到密钥“Moles”。对于每个包含属性 HostType("Moles") 的测试。

我不明白问题的原因,因为我用的是三个月前的 Moles,我从来没有遇到过这种问题。

谢谢!!!

【问题讨论】:

    标签: moles pex-and-moles


    【解决方案1】:

    这是一个非常古老的问题,提问者现在可能已经找到了解决方案,但由于这是 Google 中此错误的首批结果之一,因此我发现了以下内容:

    我(和许多其他人似乎)在运行依赖于 Moles 的 64 位测试时遇到了这个问题。

    首先,确保您安装了正确的“位数”痣。 moles 框架有 x86 和 x64 版本。根据我的经验,安装在 64 位机器上的 32 位框架实际上看起来一切正常,但您的测试将无法运行。您可以在此处安装 64 位框架:

    Moles 64 bit Framework

    我建议在安装之前关闭 VS 2010,但我不知道它是否有什么不同。

    接下来,以一种或另一种方式确保您的 Moles 托管测试在需要时使用 64 位。为此,我将测试主机设置为“默认”,但在测试项目的 AssemblyInfo.cs 文件中设置以下内容:

    [assembly: MolesAssemblySettings(Bitness = MolesBitness.x64)]
    

    然后,仅针对我想在 Moles 中运行的测试,我在测试方法中添加了这个属性:

    [HostType("Moles")]  
    

    在此之后,一切都对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 2020-02-07
      • 2013-01-12
      • 1970-01-01
      • 2017-09-06
      • 1970-01-01
      相关资源
      最近更新 更多