问题标签 [moles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
692 浏览

c# - Moles 可以用来创建密封类吗?

我正在尝试模拟我的 Linq To SQL 类。

我有以下代码:

显然,在进行单元测试时_ctx.Users为空。我可以模拟_ctx(数据上下文),但是Users是一个Table<T>并且是密封的。所以这失败了:

Pex 谈到能够通过使用Moles来转移任何方法调用。

我看到了让您覆盖 DateTime.Now() 的示例,但我看不出这对我的场景是否有帮助。

有人有这方面的经验吗?

0 投票
2 回答
1134 浏览

c# - 作为模拟 IQueryable 的提供者应该放什么

我正在使用Moles并模拟 System.Data.Linq.Table。

我把它构建得很好,但是当我使用它时,它需要 IQueryable。提供者也将被嘲笑(摩尔)。

我只希望它使用普通的 Linq To Objects。知道那会是什么吗?

这是我可以使用的语法:

0 投票
2 回答
3486 浏览

c# - Moles Isolation 框架是如何实现的?

Moles是微软创建的隔离框架。Moles 的一个很酷的特性是它可以“模拟”静态/非虚拟方法和密封类(这在像 Moq 这样的框架中是不可能的)。下面是 Moles 可以做什么的快速演示:

似乎 Moles 能够DateTime.Now在运行时修改 CIL 主体。由于 Moles 不是开源的,我很想知道 Moles 使用哪种机制来在运行时修改方法的 CIL。任何人都可以解释一下吗?

0 投票
2 回答
570 浏览

mocking - 没有 Pex 的痣?

可以不用 Pex 就可以使用 Moles 吗?

另外,有谁知道 MS Moles 什么时候会有候选版本?我对在生产系统中使用它犹豫不决,不知道它会朝哪个方向发展。

0 投票
1 回答
854 浏览

.net - 使用 Moles 模拟用户制作的课程

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

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

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

所以我的核心问题是:

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

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

0 投票
1 回答
342 浏览

visual-studio-2008 - 无法为程序集生成 moles 文件

我一直在寻找Moles来测试我的实体框架生成的类,并按照视频中概述的步骤以及教程帮助文档中的步骤进行操作,但是我在第一步中失败了。

添加新的 moles 文件项时出现以下错误,以确保 .moles 文件的名称与我在项目中的程序集匹配。

自定义工具“MolesGenerator”失败。你调用的对象是空的。

我有一个单独的测试项目,该项目引用了我想生成 moles 程序集的另一个项目。

我所做的只是安装了 moles 安装程序,并且我正在使用带有 NUnit 的 VS2008

谢谢

0 投票
1 回答
126 浏览

tdd - 第一次 Moles 测试 - 重定向未发生

这是代码。GetParentPath 被正常调用!

0 投票
1 回答
280 浏览

mbunit - 我可以将 MbUnit gui 与 Moles 测试一起使用吗?

我想设置我们的单元测试来使用 Moles——主要是因为我们不会在不需要接口的地方编写很多接口。好的,这部分是有争议的,但这是我们团队的一个问题。

为此,我们正在调查 Moles。痣很漂亮。Pex 很漂亮。问题是,如果我们构建一个使用 Moles 的单元测试,突然我们无法在 Gallio Icarus (MbUnit gui) 中运行它。有没有办法解决这个问题并让 Icarus 明白 Moles 是测试的一部分?

0 投票
2 回答
1249 浏览

debugging - 调试 Moles 的问题

我正在使用 Visual Studio 2008 和 Moles 0.93 版。一切正常,除非我尝试调试任何使用 Moled 类型的测试。测试跳过了我所有的断点。我在输出窗口中收到以下消息:

无法附加。检查以下其中一项。

  1. 您尝试调试的应用程序使用了调试器不支持的 Microsoft .NET Framework 版本。

  2. 调试器对您的应用程序将使用的 Microsoft .NET Framework 版本做出了错误的假设。

  3. 您为调试指定的 Microsoft .NET Framework 版本不正确

请参阅 Visual Studio .NET 调试器文档以正确指定您的应用程序将用于调试的 Microsoft .NET Framework 版本。

如果我尝试 debbuger.Break (),我会收到一条消息:“没有为任何调用堆栈帧加载任何符号。无法显示源代码。”

我现在正忙于追查我们的主要组件的一个问题,并且试图在无法单步执行代码的情况下解决任何问题是一件痛苦的事情(就像我需要 novocaine 一样)。

我想利用mole的“流畅调试体验”。但是,我似乎根本无法附加调试器。

谢谢,

嗡嗡声

0 投票
1 回答
193 浏览

c# - 多痣重定向在 ClassInitialize 中不起作用

我有多个依赖于同一个 Mole 重定向的测试方法,为了防止重复,我将重定向代码放在了我的 ClassInit 方法中:

但是,当测试方法一起运行时,重定向只发生一次。为什么每个测试方法都不会发生重定向?