我正在学习 Rhino Mocks
并且不知道如何模拟工厂:我有一个 IOC 使用的 IViewModelFactory 接口
public interface IViewModelFactory
{
T Create<T>() where T : IViewModel;
T Create<T>(int Id) where T : IViewModel;
}
目前我创建模拟:
var _viewModelFactory = MockRepository.GenerateStub<IViewModelFactory>();
viewModelFactory.Stub(x => x.Create<ViewModel1>())
.Return(new ViewModel1());
ViewModel1 是一个类似的类:
public class ViewModel1:BaseViewModel,IViewModel
{
private int _id;
public int ID
{
get { return _id;}
set {
if (_id==value) return;
_id= value;
RaisePropertyChanged(()=>ID)
}
}
public ViewModel1()
{
ID=0;
}
public ViewModel1(int id)
{
ID=id;
}
}
这适用于
_viewModelFactory.Get<ViewModel1>();
但不知道如何为之类创建存根:
_viewModelFactory.Get<ViewModel1>(25);
可以嘲笑吗?