问题标签 [rhino-mocks]

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 回答
795 浏览

c# - 使用 Rhino Mocks 模拟包含子对象的对象

假设一个 IMouvement 对象包含一些子对象,如 ITache、IStockPalette。

如何使用 Rhino Mocks 模拟这个?

假设这个测试,这有什么问题?

这个测试总是失败..

0 投票
2 回答
7621 浏览

c# - 如何模拟 WCF 服务?

如何使用 Rhino Mocks 模拟 WCF 服务代理?

0 投票
1 回答
1097 浏览

c# - 模拟配置集合

如何使用 Rhino Mocks 模拟 ConfigurationCollection。

我需要创建一个包含 1 个元素的 Expected ConfigurationCollection,以测试我的配置是否包含该元素。

谢谢。

注意:我的 ConfigurationCollection 继承自 IEnumerable。

0 投票
2 回答
625 浏览

c# - 为什么 Rhino.Mocks 和 Moq 说 Bar 是不可覆盖的成员?

有人可以解释为什么使用最新版本的 Moq 和 Rhino.Mocks 框架的测试都失败了,抱怨 Bar 不是虚拟/可覆盖的方法:

如果我将 Bar 方法声明为虚拟,则两个测试都会通过。我不明白为什么我必须将 Bar 声明为虚拟的。不是已经是虚拟的了吗?它来自界面。

0 投票
5 回答
64131 浏览

mocking - Rhino Mocks 上的 mock 和 stub 有什么区别?

我玩得还不够多,通常使用模拟,但我想知道这两者之间有什么区别以及何时在 Rhino Mocks 上使用其中一个。

更新:

我还用Ayende 的话找到了我的问题的答案:

存根和模拟之间的区别

您可以在本文中获得这些术语的实际定义:模拟不是存根。我想从 Rhino Mocks 的角度关注不同之处。

模拟是我们可以设置期望的对象,它将验证预期的动作确实发生了。存根是您用来传递给被测代码的对象。您可以对其设置期望,因此它会以某些方式起作用,但这些期望永远不会得到验证。存根的属性会自动表现得像普通属性一样,您不能对它们设置期望。

如果您想验证被测代码的行为,您将使用具有适当期望的模拟,并进行验证。如果您只想传递一个可能需要以某种方式执行的值,但不是此测试的重点,您将使用存根。

重要提示:存根永远不会导致测试失败。

0 投票
1 回答
9627 浏览

c# - 什么是犀牛模拟重复?

什么是犀牛模拟重复?

它是什么意思以及它是如何工作的?

0 投票
4 回答
7787 浏览

c# - 犀牛模拟,虚空和属性

刚从 Rhino Mocks 开始,我遇到了一个非常简单的问题,我如何模拟一个带有设置属性的 void 的类?

显然这是一个非常人为的例子,谢谢。

0 投票
1 回答
331 浏览

.net - 如何在 StructureMap AutoMocker 中使用 Record/Playback 语法?

是否可以使用语法

使用 StructureMap RhinoAutoMocker?

在 Jeremy Millers在 StructureMap 2.5 中的原始帖子 AutoMocker 中,这似乎是可能的,因为 RhinoAutoMocker 继承了 MockRepository,但在 StructureMap 的 2.5.2 版本中,这似乎以稍微不同的方式实现。

0 投票
3 回答
29955 浏览

rhino-mocks - Rhino Mocks - Stub .Expect 与 .AssertWasCalled

好的,我知道 Rhino Mocks 中新的 AAA 语法有很多混淆,但我必须说实话,从我目前所看到的来看,我喜欢。它读起来更好,并节省了一些击键。

基本上,我正在测试一个ListController基本上将负责一些事情列表的 :) 我创建了一个最终将成为 DAL 的接口,这当然是现在被存根的。

我有以下代码:

manager是被测系统,data是存根数据接口)

此测试的主要目的是确保管理器实际上是在查询 DAL。请注意,DAL 实际上并不存在,因此没有“真正的”价值回来。

但是,这是失败的,因为我需要将期望更改为具有返回值,例如:

然后这将运行良好,并且测试将通过,但是- 让我感到困惑的是,在这个时间点,返回值没有任何意义。我可以将其更改为 100、50、42 等等,并且测试将始终通过?

这让我很紧张,因为测试应该是明确的,如果没有满足预期的条件应该完全失败,对吧?

如果我将测试更改为(“1”是计数链接到的预期 ID):

一切都通过了,如果我将测试切换到AssertWasNotCalled,它会按预期失败。

那么,我在第一个代码示例中遗漏了什么吗?你对在存根上做断言有什么想法?(这里有一些有趣的讨论,我个人很喜欢这个回应

0 投票
3 回答
4947 浏览

c# - 创建模拟时如何组合两个接口?

我们正在使用 Rhino Mocks 执行一些单元测试,并且需要模拟两个接口。在对象上只实现了一个接口,而另一个接口是使用面向方面的方法动态实现的。有没有一种简单的方法可以动态组合这两个接口,以便可以创建一个模拟并为两个接口存根方法?