问题标签 [nmock2]

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 投票
5 回答
5891 浏览

mocking - Moq 和 Rhino.mocks 的功能是什么?

我找不到 Moq 和 Rhino 的具体功能比较。所有的问题都是“你更喜欢哪个以及为什么”,或者“这是你如何在 rhino 中做一个简单的模拟以及它是如何在 moq 中完成的”。

我在任何地方都找不到深入的比较。我知道语法差异,我不是在寻找答案。 我正在寻找能力比较。例如:

  • Rhino 有 Expect.On() 用于线程模拟。起订量可以吗?

  • 多模拟(用一个模拟实现多个接口)怎么样。起订量可以吗?

  • 我相信 Moq 现在可以模拟受保护的成员。犀牛能做到吗?

编辑:我最后也看了一些其他的 .Net 框架。

0 投票
2 回答
778 浏览

.net - 如何在 NMock 中检查函数参数的属性

假设我在(NMock)中模拟了以下界面。我如何查看那个 email.Subject = 'xyz' ?

目前我正在做类似的事情

0 投票
1 回答
917 浏览

unit-testing - 如何测试 SqlParameter 是否相等

使用 NUnit 和 NMock2 我无法比较我认为相同的 SqlParameters:

在尝试使用 NMock2 测试方法的执行时,我偶然发现了这个问题

我收到了这个错误:

NMock2.Internal.ExpectationException:意外调用 sqlDao.ExecuteNonQuery("usp_Update_Comment", ) 预期:1 次:sqlDao.ExecuteNonQuery(等于 "usp_Update_Comment",等于 <@ChangeId>) [调用 0 次]

问题:

  • 当您期望 Parameter 是 SqlParameter 时,如何使用 NMock2 进行测试?
  • 你如何比较两个 SqlParameters 的相等性?
0 投票
2 回答
2605 浏览

unit-testing - NMock - 怎么说期望这些参数有“任何价值”?还是我不应该这样做?

我有一个快速的问题,我无法在有关 NMock2.0 的文档中弄清楚。

我有一个名为 Save() 的函数,我想模拟它。这需要一个字符串 ID 作为参数和一个小数作为值..

我知道我可以编写此代码以确保使用 2 个特定值调用 Save():

但这只有在“foo”和 1 被通过时才会通过。我确实可以控制值“foo”,但是对于第二个值,我不知道它会是什么;或者我不关心至少在这个特定的测试中测试它的价值。

我知道我可以写:

但这将使我能够通过任何争论;所以如果 Save 界面发生变化,后来需要 5 个参数,我的测试仍然会通过。

我怎样才能确保它只需要 2 个参数,以及它们的正确类型?

也许更重要的是——写这样的单元测试太脆弱了吗?也许我应该对其进行编码以期望任何参数,以便每次我重构时都不必回来更改该行?我发现我使用大量模拟的测试用例非常脆弱,每当我重构时,我都必须更改它们......也许我在这里误用了模拟?对这些东西还是很陌生,所以非常感谢任何建议。

0 投票
2 回答
1187 浏览

c# - NMock 2.0 和 NMock2 的区别

我对应该使用哪个版本的 NMock2 有点困惑。我从这里得到的一个我已经使用了一段时间的:

http://www.nmock.org/download.html

文件名为 NMock2.dll,版本为 2.0.0.44。

我遇到了一个问题,我无法模拟包含泛型函数的接口。在谷歌快速搜索后发现 NMock2 支持模拟与通用函数的交互。

原来我不得不从这里使用不同的NMock2:

http://sourceforge.net/projects/nmock2/

这个版本(NMock.dll 2.1.3641.19651)确实支持具有通用功能的接口,并且大部分与其他版本兼容。到目前为止,我发现函数存在细微的差异Will()——如果函数不是void你必须传递Return.Value(something)Will().

这里有一些关于这件事的启示:

http://codelog.blogial.com/2009/08/19/using-nmock2-in-c/#comment-4355

如果您想了解最新最好的 NMock2,请访问 http://sourceforge.net/projects/nmock2。名称中带有 2 的那个。

nmock 网站上的版本(不幸的是,它不在我们的控制之下)不再维护。

所以,问题是:后者 NMock2 (2.1) 是 NMock 2.0 的下一个版本吗?它是否合法(因为它是现在唯一支持的 nmock),我们是否应该使用它而不是 nmock.org 上的那个? ?

0 投票
1 回答
325 浏览

.net - 帮助一些嘲笑

我试图模拟一个界面,我得到了下一个期望:

System.TypeLoadException:System.TypeLoadException:方法实现中的主体签名和声明不匹配

后来我发现我的问题是我在界面中定义的一个函数:

请你能告诉我如何定义类以便它可以与 nmock2 一起使用吗?提前致谢

0 投票
1 回答
1475 浏览

c# - Nmock2 和事件预期

我正在为遵循 MVP 模式的小型应用程序编写测试。

从技术上讲,我知道我应该在编写代码之前编写测试,但我需要快速智能地敲出一个演示应用程序,所以我现在要回到测试,然后再进行真正的开发。

简而言之,我正在尝试测试演示者,但是由于 Internal.ExpectationException,我什至无法运行空测试。

在意外调用事件分配时引发异常。

这是演示者类,

模型接口

这是测试课,我看不出我错过了什么,我告诉 NMock 期待这次活动......

每次我运行测试时,我都会得到相同的期望异常。

有任何想法吗?

0 投票
2 回答
3813 浏览

.net - 如何对读取 xml 文件的类进行单元测试?

我需要为读取 xml 文件并解析其内容的类编写单元测试。如何模拟文件读取?因为测试的所有内容都应该针对读取文件。

我将 nmock2 与 nUnit 一起使用。

谢谢

0 投票
2 回答
850 浏览

.net - 如何使用 NMock2 模拟内部接口?

如果我尝试这个,我只会得到一个例外:

公开接口不是一个可接受的解决方案。我不想更改我的 API 的可见性来测试它。

0 投票
1 回答
401 浏览

c# - 将 NMock2 测试转换为最小起订量

我是单元测试和模拟的新手。我必须使用 Moq 在我当前的项目中转换单元测试。目前测试使用的是Nmock2。您能帮我使用 Moq 转换此代码(使用 CollectAction)吗:

提前致谢。