问题标签 [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 投票
4 回答
772 浏览

c# - 使用 ref 参数模拟方法的语法

我的问题是我无法模拟具有 ref 参数的方法。我要模拟的方法的签名如下:

我试图像这样模拟它:

但是编译器告诉我我缺少“ref”关键字,但是当我这样尝试时

我收到一个错误,即 ref 是一个无效的表达式

不幸的是,谷歌在这里没有帮助。:( 有任何想法吗?

0 投票
1 回答
912 浏览

mstest - 使用 moles.runner.exe 和 MSTest.exe 作为测试运行器

当我执行 moles.runner.exe,提供 MSTest.exe 作为运行程序时,我看到了一个错误。

这是命令行:

这是输出:

当我使用 /d(诊断模式)执行 moles.runner.exe 时,它​​显示:

如何引导 moles.runner.exe将程序集名称作为第一个参数传递给测试运行程序?

0 投票
3 回答
470 浏览

moles - NCover 支持 Moles

在我们的项目中,我们使用 NCover 来衡量我们的代码覆盖率。如果我们测量使用 Moles 的测试,则不会测量这些类的代码覆盖率 (0%)。这与使用 .NET 分析器的 Moles 和 NCover 有关。在互联网上进行了一些搜索后,我在命令提示符下尝试了以下操作,但没有任何结果:

后面的数字COR_PROFILERNCover.Lib.x86.dll我之前在 regsvr 注册的 GUID。同样添加COR_ENABLE_PROFILING=1为 env.var 也无济于事。

有没有人让这个分析器链接工作或有 .NET 分析器链接的经验?

0 投票
2 回答
1810 浏览

unit-testing - Moles VS2010 Windows 服务单元测试失败

我正在编写一个相对较小且简单的 Windows 服务,并使用 Moles 来模拟单元测试。由于代码很小,我决定使用 Moles 检测,而不是使用存根分割代码。当我对 moled 程序集执行任何单元测试时,我收到一个错误:

InitilaizationDetectsMissingMonitorDirectory 失败:测试方法 FtpDirWatcher.Test.FileWatcherTest.InitilaizationDetectsMissingMonitorDirectory 抛出异常:Microsoft.Moles.Framework.Moles.MoleInvalidOperationException:

Moles 要求测试在仪表化过程中进行。

在 Visual Studio 测试中,将以下属性添加到您的单元测试方法中:

[测试方法]

[HostType("Moles")] // 添加这个属性

公共无效测试(){...}

我不确定“Moles 需要在仪表化过程中进行测试”是什么意思。请注意,“IN”表示这不是通常的“Moles 要求测试是一个仪器化的过程”。我回顾了文档,看看是否有任何我遗漏的东西。我显然仍然错过了一些重要的东西。

目标程序集(“FtpDirWatcher”)确实由 Moles 检测(由 MFileWatcher 对象的存在证明),并且我在测试方法上具有适当的属性。我什至尝试将目标属性转换为方法,但无济于事。发生什么了?

这是压缩代码,所以没有批评!

任何帮助表示赞赏!

更新:添加了以下构建输出。在上面的代码中包含位数设置,以表明它不应该是一个问题。

------ 重建所有开始:项目:通用,配置:调试 x86 ------

通用 -> C:...\Common\bin\x86\Debug\Common.dll

------ 重建所有开始:项目:FtpDirWatcher,配置:调试 x86 ------

FtpDirWatcher -> C:...\FtpDirWatcher\bin\Debug\FtpDirWatcher.exe

------ 重建所有开始:项目:FtpDirWatcher.Test,配置:调试 x86 ------

微软鼹鼠 v0.94.51023.0 - http://research.microsoft.com/moles - .NET v4.0.30319

版权所有 (c) Microsoft Corporation 2007-2010。版权所有。

00:00:00.00> 摩尔

00:00:02.37> 痣发生器 0 个错误,0 个警告

FtpDirWatcher.Test -> C:...\FtpDirWatcher.Test\bin\x86\Debug\FtpDirWatcher.Test.dll ========== 全部重建:3成功,0失败,0跳过=== =======

0 投票
1 回答
290 浏览

html-agility-pack - 将 Moles 与 HtmlAgilityPack 一起使用时出现 TypeInitializationException

我正在尝试使用 Moles 在单独的程序集中测试非静态方法。在没有 [HostType("Moles")] 标签的情况下运行测试时,测试运行良好。当我更换它时,我收到以下错误:

“'HtmlAgilityPack.HtmlNode' 的类型初始化程序引发了异常。”

我附上了以相同方式执行的代码示例。

任何帮助都会很棒!

单元测试调用的类/方法

单元测试

0 投票
1 回答
2140 浏览

unit-testing - 在 DateTime 中使用 Moles

我开始在单元测试中使用 Moles,并且在文档方面有点挣扎。

我想鼹鼠 DateTime.Now。

如果您环顾一下这样做的旧方法是添加对 mscorlib 的引用,然后为其添加一个 stubx 文件(添加新项目 -> 用于测试的存根和痣)。

'Stubs and Moles for Testing' 模板已被弃用,您需要做的只是右键单击参考并选择'Add moles assembly',这很好。

VS2010 不允许您直接添加对 mscorlib 的引用,因为我们有对“系统”的引用,这没关系,因为我可以在对象浏览器中看到 DateTime 作为此命名空间的一部分。

如果我为系统引用添加一个痣程序集并重建,我仍然无法解析 MDateTime。

有什么建议么 ?

0 投票
3 回答
659 浏览

.net - 将 Moles 与 XUnit 一起使用 - 错误的 dll 版本

我正在尝试设置 Moles 以在我们的单元测试中使用。我们使用的是xunit,所以我是usingmole()自带的xunit扩展Microsoft.Moles.Framework.Xunit。但是,当我们运行 Xunit 1.7 时,Moles 抱怨我没有运行版本 1.6.1.1521(带有FileLoadException)。

Moles 手册(第28 页)确实说:

xUnit.net 版本:

1.5.0.1479(对于其他 xUnit.net 版本,从源重新编译属性)

这就是我卡住的地方——这个 xunit 扩展的源代码在某处可用吗?还是我必须使用 Moles 需要的特定版本的 xunit?

0 投票
2 回答
516 浏览

unit-testing - 鼹鼠和 SharePoint 行为类型

我们在使用以下代码时遇到问题:

错误是:无法加载文件或程序集“System.Moles,Version=4.0.0.0,Culture=neutral,PublicKeyToken=0ae41878053f6703”或其依赖项之一。该系统找不到指定的文件。

我们尝试将源代码中的行为程序集重建为 .NET 4,但没有成功。我们使用的是 v0.94。

任何帮助将不胜感激。

0 投票
4 回答
1852 浏览

.net - Pex 和 Moles 项目是否仍然有效?

他们过去每月发布两个新版本,但自 2010 年 10 月以来,他们没有发布新版本。我找到了这个。但是他们已经关闭了 MSDN 上的支持论坛,这让我怀疑这个项目不会继续下去。我们正在将它用于我们当前的项目,但我们正在考虑在为时已晚之前将其替换为另一个框架。

0 投票
4 回答
3197 浏览

moles - VS 2010 SP1 上的痣 0.94.51023.0 错误

我正在尝试使用 Moles 0.94.51023.0 在 VS 2010 SP1 中使用 System.ServiceModel v4 并不断收到以下错误: 名称空间 'ssm::System.ServiceModel.Channels 中不存在类型或名称空间名称'IHttpCookieContainerManager' ' (您是否缺少程序集参考?) [my-test-project.Test\obj\Debug\Moles\ssm\mgcsproj] my-test-project.Test\mgcs 293022 43

此接口似乎已从 .NET 4.0 中的 System.ServiceModel.dll 中删除,因为当我在对象浏览器中搜索时,我只能在 System.ServiceModel.dll v2.0.5.0 (Silverlight) 中找到它。

我可以使用 moles.exe 通过 cmdline 重现这一点,并且我尝试更改 moles 文件以仅生成我指定的类型名称,但它似乎没有任何区别。在我升级到 VS2010 SP1 之前这工作正常,所以我怀疑这是一个错误,但任何帮助将不胜感激。

谢谢尼克