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

rhino-mocks - 使用 Rhino Mocks,为什么在测试初始化​​期间对属性调用模拟返回预期调用 #1,实际调用 #0?

我目前有一个测试来测试我在 MVP 模型中的演示者。在我的演示者上,我有一个属性将调用我的视图,在我的测试中它被模拟了。在我的测试的初始化中,在我将 Presenter 上的 View 设置为模拟 View 后,我在 Presenter 上设置我的属性,它将调用此方法。

在我的测试中,我调用的方法没有 Expect.Call,但是当我运行时,我得到了这个 Rhino 模拟异常:

Rhino.Mocks.Exceptions.ExpectationViolationException: IView.MethodToInvoke(); 预期 #1,实际 #0..

根据我对 Rhino 模拟的理解,只要我在期望块之外的模拟上调用它不应该记录这个。我会想象测试通过。有没有通过的原因?

下面是一些代码来显示我的设置。

...下面的测试代码...

0 投票
6 回答
23820 浏览

c# - Rhino 使用 AAA 在属性获取器上模拟 AssertWasCalled(多次)

我有一个模拟对象,它作为构造函数参数传递给另一个对象。

如何测试已调用模拟对象的属性?这是我目前使用的代码:

这有效,除非在“someobject”内多次使用 Forenames 属性的 getter。那是我得到“Rhino.Mocks.Exceptions.ExpectationViolationException: INewContactAttributes.get_Forenames(); 预期 #1,实际 #2 ..”的时候

只需使用

不起作用并给出以下错误:

“期望已从等待期望列表中删除,您是否调用了 Repeat.Any() ? AssertWasCalled() 不支持此操作。”

那么如何满足多个呼叫的需求呢?

0 投票
2 回答
2277 浏览

asp.net-mvc - 模拟 FormsAuthentication.Authenticate() 方法

有什么方法可以使用测试凭据模拟 FormsAuthentication.Authenticate("username", "password") 方法?我的测试目标是确保如果身份验证失败,它会重定向到正确的位置。我正在使用 Rhino Mocks 作为模拟框架。

非常感谢您的帮助,

0 投票
3 回答
15431 浏览

.net - 如何清除以前对对象的期望?

我想设置一个返回值

但随后在特定测试中,覆盖该期望以返回 false。

就像是:

请注意,我不希望期望在第二次调用时返回 false,我想覆盖第一个期望。

这将有助于大大简化我的测试场景。

0 投票
4 回答
2140 浏览

c# - 什么是 AAA 语法相当于在 Rhino Mocks 中使用 Ordered()

我一辈子都找不到在 Rhino 中使用 Fluent/AAA 语法来验证操作顺序的正确语法。

我知道如何使用旧的学校记录/播放语法来做到这一点:

谁能告诉我在 Rhino Mocks 的 AAA 语法中相当于什么。如果您能指出我的一些文档,那就更好了。

0 投票
1 回答
3971 浏览

rhino-mocks - 我可以在 Rhino Mocks 中获取期望中使用的参数吗?

我正在为调用构建和执行查询的方法设置期望。我想询问所用参数的属性。这可能吗

我追求的是“这里的东西”位。

(这是我第一次使用 Rhino 模拟)

0 投票
2 回答
153 浏览

asp.net - 在保存时测试对象的状态

我正在寻找为这样的方法编写单元测试:

这是一种相当直接的测试方法。我正在使用 Rhino Mocks 框架。但一方面让我质疑自己。我存根 DAO 对象及其保存方法,我想知道应该对传递给保存方法的用户对象进行多深的测试。我是否应该断言该对象的每个属性都符合我的预期?还是我应该只断言 PasswordQuestion 和 PasswordAnswer 属性具有正确的值?前者对我来说似乎是正确的,因为我应该确保修改了这两个属性,而其他属性没有被触及。

我希望有些人可以就此发表意见。对于这些类型的情况,是否有要记住的经验法则或模式?

0 投票
1 回答
784 浏览

asp.net-mvc - 使用 Rhino Mocks 在 ASP.NET MVC 中模拟客户 SessionHandler 对象以进行单元测试

我目前使用以下方法来创建表示会话变量的强类型对象。

SessionData 是一个简单的对象,例如

创建新控制器时,我从 SessionController 派生它,这样我就可以对我的 SessionData 进行强输入访问。例如

因此,我目前正在努力通过单元测试来解决这个问题。我尝试过的缩短版本是以下代码段

有没有人提示如何解决这个问题?

0 投票
4 回答
5273 浏览

c# - 你如何存根 IQueryable.哪里(功能) 与犀牛模拟?

在我现在正在处理的 .net 3.5 项目中,我正在为服务类编写一些测试。

我很难弄清楚如何存根或模拟

部分。

这是我到目前为止得到的:

[注:类名已更改以保护无辜]

但这失败System.NullReferenceException

所以我的问题是:

如何使用 RhinoMocks 模拟或存根 IQueryable.Where 函数并让此测试通过?

如果我当前的设置不允许我模拟或存根 IQueryable,那么请给出合理的解释。

感谢您阅读这个冗长的问题。

0 投票
2 回答
2173 浏览

asp.net-mvc - 在 MVC 中模拟 RouteTable.Routes.GetVirtualPath

我有一个带有调用方法的分页控制器

我正在尝试使用 Rhino 模拟测试此方法,但我不确定如何模拟 GetVirtualPath 以返回 null 以外的路由。我在嘲笑 RequestContext 但我不确定哪些方法/属性需要被存根。

通过适当地对 mockRequestContext 进行存根,GetVirtualPath 是否应该返回一个非空路径,如果是这样,需要对什么进行存根才能使其工作?

非常感谢任何建议。