【问题标题】:Using Moles to mock user-made classes使用 Moles 模拟用户制作的课程
【发布时间】:2010-07-06 16:18:30
【问题描述】:

我已经搜索了论坛和整个网络,并没有真正看到直接的答案。

我刚刚被介绍给 moles,我读到它可以模拟任何 .NET 类或函数调用。但是,我想知道是否可以使用 Moles 来模拟我自己创建的类。

我以前使用过 MOQ,并且我读到有些人同时使用 Moles 和 [插入其他模拟框架],但我认为只使用一个会更方便。

所以我的核心问题是:

Moles 可以用来模拟我自己创建的类/函数吗?

编辑:我已经看到这个过程用 DateTime 完成了几次,并用 xml 文件中的 mscorlib 创建了一个 .moles 文件。由于用户创建的类不是来自 .NET 库,这是如何完成的?

【问题讨论】:

  • 框架代码没有什么特别之处。您创建的类就像框架中的任何其他类一样(或多或少)。因此,如果您可以“摩尔”框架中的任何类,那么您也应该能够“摩尔”您自己的类。

标签: .net mocking moles


【解决方案1】:

是的,正如您所说,Moles 可以模拟任何 .NET 类型,包括最终用户创建的类型。


更新:

安装 Moles 后:

  1. 创建一个新的类库项目来保存您要测试的代码的单元测试;
  2. 在此项目中添加对包含将要测试的代码的库或可执行文件的引用;
  3. 构建测试项目,以便将引用的库复制到本地输出目录;
  4. 右键单击添加的引用以调用上下文菜单,您将看到添加 Moles 组件的选项。

【讨论】:

  • 在我见过的示例中(所有这些都是关于模拟 DateTime),他们使用 moles 创建一个 xml 文件并更改一行以说 AssemblyName="mscorlib" 因为用户制作的类没有来自 .NET 库,我现在不知道该怎么做。
  • 您不需要更改 xml 文件中的任何内容,它应该可以正常工作。
猜你喜欢
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多