问题标签 [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# - 我可以判断一个属性是否已通过 Rhino Mocks 访问
我在使用 Rhino Mocks 模拟的接口中有一个属性。我想知道它是否在我的单元测试中被访问过。
有没有办法查看该属性是否通过 Rhino Mocks 访问?
我在这里找到了这段代码,但它似乎不起作用:
我复制了这段代码,得到以下信息:
我想使用这种语法,但我必须遗漏一些东西。我用存根(不是模拟)调用它,这有什么不同吗?
c# - 如何为 Rhino 模拟对象设置值?
我有这样的场景:
中介是被测试的真实对象,需要能够为“表单”对象设置值。
但是我可以看到为表单对象设置值的唯一方法是这样的:
我不想在我的真实代码中这样做。
我错过了模拟的意义吗?
c# - 通话无效,上次通话已使用或未通话
当我尝试将模拟设置为具有时出现此错误PropertyBehavior()
:
System.InvalidOperationException:System.InvalidOperationException:无效调用,已使用最后一次调用或未进行调用(确保您正在调用虚拟(C#)/可覆盖(VB)方法)..
我正在尝试仅使用Rhino Mocks 3.5 (Arrange, Act, Assert)
这是我的代码:
我知道我可以使用存根(对于上面的代码我应该),但我正在尝试学习 Rhino Mocks。
最终,我希望能够确保访问多个属性的值。(有关如何检查form.FirstName
已访问(即调用 getter)的任何提示也将不胜感激。)
如果需要,这里是代码IAddressForm
:
无论如何,我认为虚拟不会成为问题,因为我正在传递一个接口,但我显然错过了一些东西。
c# - Rhino Mocks - 存根单身人士
我有一个单例,可以通过如下静态属性在我的类中访问:OtherClassNotBeingTested.Instance.SomeInstanceMethod()
我想在不制作这些对象之一的情况下测试我的课程。当调用静态属性的 getter 时,RhinoMocks 有没有办法返回存根Instance
?
为了更清楚,这里是 Instance 属性的代码:
更新:这就是我最终修复它的方式:
我的单元测试调用第二个构造函数。实际代码调用第一个构造函数。类中的代码使用本地字段mControl而不是单例。(我认为这称为依赖注入。)
我还按照Tony the Pony的建议重构了 Singleton。
rhino-mocks - RhinoMocks 测试回调方法
我有一个服务代理类,可以对服务操作进行异步调用。我使用回调方法将结果传递回我的视图模型。
对视图模型进行功能测试,我可以模拟服务代理以确保在代理上调用方法,但是如何确保回调方法也被调用?
使用 RhinoMocks,我可以测试被模拟对象上的事件被处理和事件引发事件,但我如何测试回调?
视图模型:
服务代理:
谢谢
c# - 验证模拟对象引发的事件
在我的单元测试中,如何验证模拟对象是否引发了事件。
我有一个视图(UI)--> ViewModel--> DataProvider--> ServiceProxy。ServiceProxy 对服务操作进行异步调用。当异步操作完成时,调用 DataProvider 上的方法(回调方法作为方法参数传递)。然后回调方法引发 ViewModel 正在侦听的事件。
对于 ViewModel 测试,我模拟 DataProvider 并验证 DataProvider 引发的事件的处理程序是否存在。在测试 DataProvider 时,我模拟了 ServiceProxy,但是如何测试调用回调方法并引发事件。
我正在使用 RhinoMock 3.5 和 AAA 语法
谢谢
-- 数据提供者 --
-- 服务代理 --
nunit - 带有 Rhino Mocks 异常的 NUnit:为什么会抛出这个异常?
我遇到了一个对我来说真的毫无意义的例外。
我有一个对包含 3 个参数的方法的 Expect 调用:这些类型称为 CallContext、IDal 和 List。
NUnit 向我抛出了 2 个异常:一个是因为不期望在类型为 CallContext、System.Object 和 List 的情况下发生方法调用,另一个是因为期望在类型正确的情况下不会发生调用。有趣的是,调用该方法的唯一方法是使用上面提到的 3 种类型。没有对象类型的方法调用!
这是代码:
被调用的方法是: workbooksLogic.Create(context, dal, new List { workbook }) 这是 NUnit 错误:
我不知道这到底是怎么回事。有人有想法么?
c# - Rhino Mocks 和 Visual Studio:如何修复此错误?
我在 Rhino Mocks 上遇到了另一个有趣的问题。谁能回答这个:
这是我在代码中进行的调用:
mockDal 正在模拟 Dal 类型的东西,它的 SaveObject 方法的签名是这样的;
Visual Studio,在我的代码的第一部分(即不是 IgnoreArguments 的部分)给了我这个非常令人困惑的错误:
Error 1 The type arguments for method 'Rhino.Mocks.Interfaces.ICreateMethodExpectation.Call<T>(T)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
我已经尝试过使用 var 类型的条目及其实际类型(称为 SpaceViewEntry),并且每次都给我同样的错误。有任何想法吗?
unit-testing - Rhino Mocks 中是否已弃用“记录”
最新版本的 Rhino mocks 支持 Arrange、Act Assert 方法。这是否意味着它在以前版本中使用的记录方法已被弃用?
我认为这是(已弃用),但当我阅读“单元测试的艺术”时,他在介绍 Rhino Mocks 时使用了 Record 方法。所以现在我不太确定......
有人确定吗?
更新:好的,在我对他的做事方式感到不安之前,我需要阅读整章。在 5.8 节中,他介绍了 AAA 语法。不过,我的问题仍然存在,现在更喜欢哪一个:AAA 还是唱片?
unit-testing - 如何使用 Rhino Mocks 模拟任意行为?
我正在尝试模拟数据层方法。该方法将一个字符串和两个列表作为参数,并且该方法从存储过程的结果中填充这些列表。另外,我仍然在使用 VS2005 的 C# 2.0,并且我正在使用 Rhino Mocks 3.5 for .NET 2.0。如果可能,最好使用 AAA 格式。
所以是的,我想做的就是模拟一个接口方法,它将几个假对象添加到参数列表并返回。不幸的是,在阅读了 Rhino Mocks 文档之后,我几乎不知道如何做到这一点。Rhino 对我来说是一个难以理解的拼图盒子,没有例子我无能为力;我找不到的例子。
有人知道我该怎么做吗?