- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 RhinoMocks 的新手,除了在幕后发生的事情之外,我还试图掌握语法。
我有一个用户对象,我们称它为 User,它有一个名为 IsAdministrator 的属性。 IsAdministrator 的值通过另一个检查用户安全权限的类进行评估,并根据这些权限返回真或假。我试图模拟这个 User 类,并伪造 IsAdministrator 的返回值以隔离一些单元测试。
到目前为止,这就是我正在做的事情:
public void CreateSomethingIfUserHasAdminPermissions()
{
User user = _mocks.StrictMock<User>();
SetupResult.For(user.IsAdministrator).Return(true);
// do something with my User object
}
最佳答案
在我开始之前先做一个简短的说明。通常,您希望避免使用“严格”模拟,因为它会导致脆弱的测试。如果发生任何您没有明确告诉 Rhino 会发生的事情,严格的模拟将抛出异常。此外,我认为您在调用创建模拟时可能会误解 Rhino 正在做什么。将其视为一个自定义对象,该对象要么派生自,要么实现了您定义的 System.Type。如果你自己做,它看起来像这样:
public class FakeUserType: User
{
//overriding code here
}
public class User
{
public virtual Boolean IsAdministrator { get; set; }
}
public interface IUser
{
Boolean IsAdministrator { get; }
}
public class User : IUser
{
private UserSecurity _userSecurity = new UserSecurity();
public Boolean IsAdministrator
{
get { return _userSecurity.HasAccess("AdminPermissions"); }
}
}
public void CreateSomethingIfUserHasAdminPermissions()
{
IUser user = _mocks.StrictMock<IUser>();
SetupResult.For(user.IsAdministrator).Return(true);
// do something with my User object
}
关于tdd - RhinoMocks : Correct way to mock property getter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/78389/
最后一次构建是在 2010 年 1 月 5 日。 我要学习一个模拟框架,我不想学习一个产品会消亡。 最佳答案 Rhino Mocks 没有更发达——但值得注意的是,它复活了大约一年 . Ayende
有没有办法设置RhinoMocks期望而不关心返回值?类似这样的事情: repository.Expect(r => r.Add(1)).Return(Anything) 最佳答案 请注意,如果您未指
我正在尝试为一段使用拼写校正器的代码设置单元测试。我已经正确地注入(inject)了代码依赖项,所以在 Rhinomocks 中设置 stub 不是问题,但是我为测试创建的文本 block 有 50
public interface IServiceInvoker { R InvokeService(Func invokeHandler) where T : class; } publi
尝试引发 Rhino Mock 事件时出现以下错误 Invalid call, the last call has been used or no call has been made (make s
我有一些与 Entity Framework 一起使用的代码,例如 class Person{ pubic Person() { Address = new Address(); }
我想做以下... 在调用某个方法之前,某个属性必须始终返回值 x调用方法后,某个属性必须始终返回值 y 我熟悉 RhinoMocks 中的 WhenCalled 方法,它允许我在调用方法后设置返回值,
有谁知道如何在抽象类上引发事件? 下面的测试在最后一行失败了。我得到的异常如下: System.InvalidOperationException : Invalid call, the last c
使用 RhinoMocks - 我可以获取被调用函数的参数吗?我是说;我可以从函数调用中获取一些未知参数吗? 我有一个模拟,我希望在这个模拟上调用一些函数。我知道其中一个参数,但另一个参数是未知的,因
我使用 RhinoMocks 毫无问题地使用 AssertWasCalled 检查我的方法是否使用简单的参数调用,例如 Arg.Is.Equal(1) 等。 但是,当我尝试期待自己创建的复杂对象时,它
据我了解,用RhinoMocks创建的mock对象在创建时直接进入录音状态,然后调用Replay()进入replay状态。我想手动决定模拟对象何时开始录制,或者能够暂停录制。这在 RhinoMocks
好像注释不能支持代码 假设我调用了一个方法(例如 SaveTicket)并使用了构造函数(例如 Repository、Logging)来注入(inject)各种模拟接口(interface)。如果该方
我正在尝试更加熟悉 Rhinomocks 框架,并且我正在尝试了解 rhinomocks 的 Expect 方法。 这是我写的单元测试: [TestMethod] public void Create
如何使用 RhinoMocks 模拟以下行为? 被测试的方法在接口(interface)上调用 ReceivePayment 方法。 public void TestedMethod(){ b
我有一个类,我想在我的测试中模拟它,这是它接口(interface)的一部分: interface IInventory { Instrument[] GetAllInstrumentsAff
我使用 RhinoMocks 进行了一个非常简单的测试(我不得不说我是初学者)。我试着像这样模拟我的对象 var mock = MockRepository.GenerateMock(); 创建一个助
我有这个方法: public void Handle(ShipmentConfirmedEvent message) { try {
我使用 RhinoMocks 进行模拟/ stub ,使用 Nunit 框架进行单元测试。 我有以下类(class) class A { private int dat
我们目前正在从 NMock2 迁移到 RhinoMocks,但我们在复制这段代码时遇到了问题: foreach (EventInfo e in typeof(MarketMapPopupIMVPVie
我正在使用 RhinoMocks 编写 NUnit 测试。其中一项测试如下所示: mock = MockRepository.CreateMock(); // Arrange // During th
我是一名优秀的程序员,十分优秀!