gpt4 book ai didi

mocking - 有没有人让痣正常工作?

转载 作者:行者123 更新时间:2023-12-04 06:20:35 24 4
gpt4 key购买 nike

我试图找到关于如何使用痣隔离框架的一致描述,但在这个主题上没有找到太多。
到目前为止,我做了以下事情:

  • here 下载痣(x86 版本)。
  • 安装它。
  • Here家伙描述了如何将它与自定义库一起使用。所以我为我自己的图书馆添加了 moles 组件。重建后,程序集出现在引用资料中。
  • 然后我尝试添加使用 .Moles 命名空间并构建项目,但失败并出现一堆错误。 MDateTime 的示例也不起作用。 MDateTime 只是没有任何方法。
  • 考虑到这是让它工作的第 5 次失败尝试,我从系统中卸载了它。

  • 所以问题是:痣对任何人都有效吗?如果是的话,你是怎么到那里的?
    我还应该安装 pex 以使其工作吗?
    如果我想通过 msbuild 脚本在构建服务器上使用它怎么办?我看到他们提到了对 msbuild 的支持,但是有没有人从 msbuild 中使用它的真正经验?

    对我来说,在严肃的开发过程中使用它看起来很原始。
    也许有人有其他意见?

    谢谢。

    最佳答案

    是的,它工作正常。我假设您正在安装 v0.94.51023.0。为了让 Moles 正常工作,您必须做一些事情来设置测试类。这些很快就会成为第二天性——别担心!

  • 您必须为您希望使用 Moles 的每个组件创建一个“moled 组件”:

    一种。右键单击解决方案资源管理器的“引用”节点中的程序集,然后选择“添加 Moles 程序集”。
    湾。如果您希望安装 .NET Framework 程序集,请右键单击“引用”节点,然后选择“为 mscorlib 添加 Moles 程序集”。
  • 引用 .CS 文件中的 Microsoft.Moles.Framework 程序集:

    使用 Microsoft.Moles.Framework;
  • 构建项目。这会导致将适当的 Moles 框架引用添加到项目中。正如@Lara 评论的那样,第 3 步将失败,不添加引用。
  • 引用 .CS 文件中的模压组件:

    使用 MyNamespace.Moles;
  • 用 [HostType("Moles"] 属性装饰使用 Moled 类型的测试方法

    [主机类型(“痣”)]
  • 通过使用程序集属性,识别 .CS 文件中使用的整个程序集或单个类型:

    使用 MyNameSpace.MyAssemblyName.Moles;

    [程序集:MoledAssemblyType("MyNameSpace.MyAssemblyName")]

    [程序集:MoledType(typeof(MyNameSpace.MyAssemblyName.MyClass))]

  • 编译测试项目时,Moles 会复制“被摩尔”的程序集,然后在副本中注入(inject)弯路。 Moled 程序集和类型的命名空间附加了“.Moles”。因此,“MyNameSpace.MyAssembly”变为“MyNameSpace.MyAssembly.Moles”。我敢肯定,您也熟悉模压组件类型名称的“S”和“M”前缀。如果没有,请引用 Moles Reference Manual .

    关于mocking - 有没有人让痣正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6637866/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com