在我的界面
public IMyListInterface : IList<IMyItem>
{
void Foo();
}
如何轻松创建一个测试使用IMyListInterface的类的示例。
目前我正在使用GenerateStub<MyListInterface>()
并将所需的方法/属性委托给List<IMyItem>
列表,但这很乏味。
目前要使以下代码正在测试中
foreach (var match in matchList)
我在我的测试类
中执行以下操作IList<IMyItem> baseList = new List<IMyItem>();
IMyListInterface matchList = MockRepository.GenerateStub<IMyListInterface>();
matchList.Stub(m => m.GetEnumerator()).Return(null).WhenCalled(i => i.ReturnValue = baseList.GetEnumerator());
有更好的方法吗?
答案 0 :(得分:0)
在抽象基类中实现接口以进行测试:
public abstract MyMockableList : List<MyItem>, IMyListInterface
{
public abstract void Foo();
}
然后您可以使用MockRepository.GenerateStub<MyMockableList>()
,它将作为普通列表运行(RhinoMocks不会覆盖从List<MyItem>
继承的方法),但您仍然可以删除Foo()
方法。