c# – Rhino模拟一个抽象类,没有模拟它的虚方法?
发布时间:2020-12-15 08:28:37 所属栏目:百科 来源:网络整理
导读:我可以执行生活在使用Rhino Mocks嘲笑的抽象类的虚方法体吗? 要清楚,我不是试图模拟虚方法的行为.我正在尝试/测试/虚拟方法(在模拟类上). 这个想法是否明显滥用Rhino Mocks? 解决方法 是的,这应该是绝对正常的.我不能说我已经尝试过了,但如果它失败了我会
我可以执行生活在使用Rhino Mocks嘲笑的抽象类的虚方法体吗?
要清楚,我不是试图模拟虚方法的行为.我正在尝试/测试/虚拟方法(在模拟类上). 这个想法是否明显滥用Rhino Mocks? 解决方法
是的,这应该是绝对正常的.我不能说我已经尝试过了,但如果它失败了我会很惊讶.
编辑:我怀疑你想要PartialMock方法.这是一个例子: using System; using Rhino.Mocks; public abstract class Abstract { public virtual int Foo() { return Bar() * 2; } public abstract int Bar(); } class Test { static void Main(string[] args) { MockRepository repository = new MockRepository(); Abstract mock = repository.PartialMock<Abstract>(); using (repository.Record()) { Expect.Call(mock.Bar()).Return(5); } Console.WriteLine(mock.Foo()); // Prints 10 } } 编辑:或者在我第一次尝试AAA时: using System; using Rhino.Mocks; public abstract class Abstract { public virtual int Foo() { return Bar() * 2; } public abstract int Bar(); } class Test { static void Main(string[] args) { // Arrange Abstract mock = MockRepository.GeneratePartialMock<Abstract>(); mock.Stub(action => action.Bar()).Return(5); // Act int result = mock.Foo(); // Assert mock.AssertWasCalled(x => x.Bar()); // And assert that result is 10... } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |