问题标签 [rhino-mocks-3.5]
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.
c# - Rhinomocks - 模拟代表
}
我正在对服务进行存根并返回一个集合。当我运行此测试时,媒体为空。任何想法,我怎样才能对这个模拟设定期望?
c# - 带有 ref 参数的方法的 AssertWasCalled 和 Stub
我在使用参数存根方法时遇到问题ref
。
我想为某个输入值存根该方法并检查它是否被调用。
我的尝试:
BTW:我知道,这个测试没有任何意义,因为它没有测试任何真正的类。这是我真实测试的浓缩版本来说明问题。
如您所见,发生了一些奇怪的事情:
执行方法的存根是正确的,它被调用,因为executeCalled
是 1 并且tmp
参数已从 更改inputValue
为outputValue
。
但:
- 第一次使用
AssertWasCalled
pass进行检查,尽管它检查是否Execute
使用outputValue调用,但不是。 - 第二次检查失败,尽管它检查是否被 inputValue 调用
AssertWasCalled
,它是。Execute
此外,当我检查存根i.Arguments[1]
内部WhenCalled
时,它是outputValue
,不是inputValue
......看起来Rhino Mocks正在将输入值更改为指定的返回值,甚至在调用存根之前......
这是 Rhino Mocks 中的错误吗?还是我错过了什么?如果它是一个错误,在executeCalled
柜台旁边是否有任何解决方法?
c# - Rhino - 模拟类而不覆盖虚拟方法
如果我正在模拟一个类,如下所示,有什么方法可以让模拟不覆盖虚拟方法?我知道我可以简单地删除虚拟修饰符,但我实际上想稍后为这个方法删除行为。
换句话说,除了删除虚拟修饰符之外,我怎样才能让这个测试通过:
}
c# - 我真的必须以不同的方式编写我的代码,以便我可以测试它吗?
我从 ruby on rails 来到 c#,在那里我使用 Rspec 和 Mocha 进行了 TDD。我正在寻找进入一个模拟框架,一个较旧的 stackoverflow 帖子向我指出了 MOQ 和 rhino 模拟的方向。我犹豫要不要承诺,我正在寻找一些建议或澄清,或者只是一个鼓舞人心的谈话......
以下是我的担忧:
- Rhino mocks 似乎有点过时了。许多示例甚至没有使用泛型,因为在创建框架时它们似乎不可用
- Moq 似乎不如 Rhino 模拟强大,并且您似乎需要调整您的类才能模拟它们(它们必须实现接口或所有方法都必须是虚拟的)
我在这里离基地很远吗?我错过了什么吗?是否有一些我应该知道的很酷的新框架,还是我只需要敞开心扉接受静态语言的模拟是不一样的?
(我知道过去有人问过这样的问题,但它们对我来说似乎有点过时了,我对最新的时髦新事物很感兴趣)
c# - 如何在 rhino mocks 3.6 中设置 foreach 项目期望
我希望能够做这样的事情:
IProcessDetails detailprocessor = MockRepository.GenerateMock(); detailprocessor.Expect(p => p.Process(null)) .Repeat.ForEachItemIn(details);
这是我要测试的代码
我想验证每个细节是否已处理但只处理一次,我不知道该怎么做
这是我目前的测试:
解决了——我想通了:
我需要的是更好地理解 rhino mocks。使用严格的模拟和简单的 foreach 循环解决了问题
这是我现在的测试:
c# - RhinoMocks:AssertWasCalled 在 Stub 上不起作用
我试图用 RhinoMocks 断言调用了某个属性设置器。但它没有按预期工作。
以下简化示例说明了该问题。
考虑这个接口:
现在考虑以下代码:
我期待最后一行的断言会毫无问题地通过。但是,它抛出了一条ExpectationViolationException
消息:
“IMyInterface.set_SomeProperty(anything); 预期 #1,实际 #0。”
我不明白为什么会发生这种情况。有人可以帮忙吗?
c# - 犀牛嘲笑存根历史
我已经在接口上存根了一个方法,并想看看它是用什么参数调用的,但是这个方法被调用了几次,我希望能够检查每个调用的参数。是否有一堆我可以检查的对存根的调用历史记录?
我的情况是这样的:
tdd - Rhino Mocks 分步教程
我意识到存在一些帖子,例如这个帖子,它们提出了同样的问题。但是,建议页面上的链接不起作用(它只是让我回到博客主页)。
我正在寻找一个没有任何假设的先前Rhino Mocks知识的教程。
Record()
我需要一个分步指南来解释基础知识(存根、模拟和期望调用)、、、、、何时/为什么使用ReplayAll()
等如何工作。VerifyAll()
Repeat.Any()
在阅读了一些文档后,我有了一个粗略的理解(我发现一些文章很有用,但大多数文章充其量只是令人困惑),但我需要更多示例,详细解释如何使用 Rhino Mocks。
unit-testing - 部分模拟 - 期望被忽略 (Rhino Mocks)
我正在尝试测试类似于以下示例的类:
部分嘲讽似乎无法接受我的期望。当我运行测试时,我收到有关输入的错误。当我调试时,我看到正在执行该方法的实际实现而不是预期。
我做这个测试正确吗?根据文档(http://ayende.com/wiki/Rhino%20Mocks%20Partial%20Mocks.ashx):“除非您为该方法定义期望,否则部分模拟将调用该类上定义的方法。如果您有定义了一个期望,它将为此使用正常规则。”
c# - 使用 Rhino Mocks 如何存根使用 params 关键字的方法?
我正在尝试在存储库上设置期望。该方法使用了params 关键字:
我设置的期望:
抛出此异常:
测试方法 XYZ 抛出异常:System.InvalidOperationException:在录制时仅在模拟方法调用中使用 Arg。预计有 2 个参数,已定义 7 个。
我的期望设置有什么问题?