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

c# - 使用 Rhino Mocks 如何为 Mocked 方法设置参数的属性

使用新的 Rhino Mocks 3.5 Arrange/Act/Assert (AAA) 测试风格,我在编写测试时遇到问题。

我有一个调用存储库类上的方法的方法。ActivateFoo,我的 Foo 对象有一个 IsActive 属性。ActivateFoo 对象的结果应该改变属性。

这是示例代码:

我猜关键代码段将在“ActivateFoo(foo))”之间。和“返回(真);”。

有一点要澄清方法链接的东西在幕后是如何工作的,如果在我期望的行上写了代码,它是在 Return() 之后还是之前有关系吗?(当然,除非解决方案是使用 Expect 的 MethodOptions 重载,或者其他)。

提前感谢您的帮助。

0 投票
2 回答
244 浏览

c# - 为什么 RhinoMock 没有通过这个测试?

我现在有一堂课是这样的:

所以 Method2 永远不会被调用(我的代码看起来有点不同,但我有这个 if 子句的计算结果为 false,因此不执行 Method2。通过调试检查它以确定)。我想告诉 RhinoMocks 我希望 Method2 被调用并且测试失败:

...但是测试通过了。

(Expect.Call 中 lambda 表达式的原因是,我的实际 Method2 有参数)

我的问题:

  • 这是在这种情况下进行测试的常用方法吗?(我只是从 RhinoMocks 和一般的模拟框架开始)
  • 为什么测试会通过?
0 投票
2 回答
4520 浏览

unit-testing - Rhino Mocks - 如何断言一个模拟方法被调用了 n 次?

我如何断言模拟对象上的方法被准确地调用了 n 次?

这是来自控制器操作的代码片段,我喜欢测试:

“服务外观”对象是(严格的)模拟,将被注入到控制器中。单元测试应该断言操作中的 CreateNewMatch 方法被调用了 n 次。(例如 5 个)

0 投票
3 回答
10282 浏览

c# - 模拟和 HttpContextBase.get_User()

我想模拟 HttpContext 的 User 属性。我正在使用 Scott Hanselmans MVCHelper 类和 RhinoMocks。

我有一个包含代码的单元测试,如下所示:

...

...

我的 MockIdentity 和 MockPrincipal 类分别是符合 IIdentity 和 IPrincipal 的模拟。

运行报告的单元测试时出现错误:

System.NotImplementedException :方法或操作未实现。在 System.Web.HttpContextBase.get_User()

当我尝试为 User 属性设置期望时,就会发生这种情况。

我知道 httpContextBase 有一个未实现的 getter 和 setter,但我认为 Rhino 在模拟时会处理这个问题。

这是否意味着我必须从 HttpContextbase 派生并覆盖我的模拟对象的属性。这似乎很奇怪。

其他用户也遇到过这个问题,在这里报告:http: //www.mail-archive.com/rhinomocks@googlegroups.com/msg00546.html

0 投票
5 回答
5891 浏览

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

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

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

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

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

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

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

0 投票
2 回答
3801 浏览

unit-testing - Rhino Mocks:“验证”与“断言”

使用 Rhino Mocks 时,什么时候适合使用“VerifyAll”,什么时候应该使用“Asserts”?

0 投票
2 回答
11182 浏览

asp.net-mvc - 如何使用 Rhino Mocks 模拟 HttpContext.Application

我是 Mocking 框架的新手,并且已经开始使用 RhinoMocks 来协助我的 MVC 应用程序单元测试。

我正在使用Scott Hanselmanns MVC Mock Helper来协助模拟 HttpContext。我已经成功地(一段时间后)模拟了一些我需要的东西,但是在涉及到 HttpContext 的 Application 属性时却没有解决问题。

在我的应用程序中,我将一个对象存储在应用程序中并在控制器中检索它,例如:

这是在我的 MVC 应用程序中的 Application_Start 上创建的。

更新以下第一个答案(为清楚起见附加代码)目前在测试设置中我做:

在我的单元测试设置中,我这样做:

此调用为 Application 对象引发 NullReference 异常。

我的问题有两个:

1)这是正确的方法还是我从设计/架构的角度做错了什么?

2)为什么这不起作用?!

提前致谢。

0 投票
1 回答
1496 浏览

java - 等效于 EasyMock 中的 LastCall.IgnoreArguments

我已经广泛使用 Rhino.Mocks,目前正在使用 EasyMocks 在 Java 中编写一些测试。但是,我无法在 EasyMocks 中提取 LastCall.IgnoreArguments() Rhino.Mocks 等效项。

无论方法中的参数如何,如何使用 Easy Mocks 返回一个值。

例如:

无论参数sweetMsg如何,我如何模拟此界面以返回“Hell Oh Wo​​rld”。

0 投票
4 回答
1158 浏览

unit-testing - 你如何从 Rhino.Commons 模拟 UnitOfWork?

我的应用程序正在使用 Rhino.Commons - NHRepository 和 UnitOfWork。我喜欢交易的 With.Transaction() 语法并且已经使用了一段时间。

但是我遇到了一个问题——如何模拟 UnitOfWork 进行测试?特别是这给我带来了麻烦:

我可以用 Rhino.Mocks 模拟存储库,但是我怎样才能轻松地模拟 UnitOfWork 来处理这种代码呢?

0 投票
5 回答
3965 浏览

mocking - Rhino Mocks:模拟方法返回 null

我正在尝试模拟一个数据存储库对象,但是在对我的 MockRepository 设置期望之后,它每次都返回 null。我的代码如下:

测试底部的断言失败,返回的人始终为空。我知道我的模拟肯定做错了......想法?