将Moles与MsTest一起使用时,Moles会“冲突”

时间:2011-07-12 13:31:16

标签: moles pex pex-and-moles

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

想象一下以下情况:

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

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

当我们这样做时,我们的项目将完全编译。

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

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

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

因此我的“测试DLL A”测试将失败,因为我的鼹鼠组装不正确。

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

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

你有没有遇到这个“问题”?还有其他解决方案吗?

非常感谢!

皮尔灵光 DotNetHub用户组负责人

1 个答案:

答案 0 :(得分:1)

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

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

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