4

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);

それは嘲笑することは可能ですか?

4

1 に答える 1