【问题标题】:Moles "conflict" when using Moles with MsTest将 Moles 与 MsTest 一起使用时,痣会“冲突”
【发布时间】:2011-07-12 13:31:16
【问题描述】:

在使用 Moles 和 MsTest 时,我发现了一种可以解释(但令人沮丧)的行为。

想象一下下面的例子:

  • “测试 DLL A”正在 mscorlib 上使用 Moles
  • “测试 DLL B”正在 mscorlib 上使用 Moles

为了缩短编译时间,在这两种情况下,我们都在编辑 .moles 文件,以便询问单个类的痣的生成。

当我们这样做时,我们的项目将编译得非常好。

但是当我们运行解决方案的测试时,MsTest 过程将是:

  • 复制“Out”文件夹中的所有 DLL
  • 在“Out”文件夹中运行测试

因此,复制到“Out”文件夹将尝试复制 mscorlib.Moles.dll 的两个版本(一个是类型 1,一个是类型 2),当然,第二个会覆盖第一个一个。

所以我对“Test DLL A”的测试将失败,因为我的 mole 程序集不正确。

当然有两种简单的解决方法:

  • 在每个 .moles 文件中包含所有需要的类型(在所有项目中)
  • 两者都不要使用类型过滤

你也遇到过这个“问题”吗?还有其他解决办法吗?

非常感谢!

皮埃尔-伊曼纽尔 DotNetHub 用户组负责人

【问题讨论】:

    标签: moles pex pex-and-moles


    【解决方案1】:

    我知道这是一个迟到的回复,但我们确实在我的商店遇到了同样的事情。

    我们最终做了一个专为鼹鼠设计的项目。然后让所有其他单元测试项目引用在我们的 MolesProject/Moles 文件夹中创建的 .dll。

    我们能够利用这一点并缩短构建时间

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-05
      • 1970-01-01
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      相关资源
      最近更新 更多