私はデータリポジトリオブジェクトをモックしようとしていますが、MockRepositoryで期待値を設定した後、毎回nullを返します。私のコードは次の通りです: Rhino Mock:Mockedメソッドがnullを返します
[Test]
public void GetById_NotNull()
{
Person expectedPerson = new Person() { Id = 1, Name="Jon"};
MockRepository MockRepository = new MockRepository();
var FakePersonRepository = MockRepository.StrictMock<IRepository<Person>>();
FakePersonRepository.Expect(action => action.Get(1)).IgnoreArguments().Return(expectedPerson);
PersonService PersonService = new PersonService(FakePersonRepository);
Person returnedPerson = PersonService.Get(1);
Assert.IsNotNull(returnedPerson);
}
//and inside my person service
public class PersonService
{
private IRepository<Person> _PersonRepository;
public PersonService(IRepository<Person> PersonRepository)
{
this._PersonRepository = PersonRepository;
}
public Person Get(int Id)
{
Person p = _PersonRepository.Get(Id);
return p;
}
}
テストの最後のアサーションは失敗し、返された人は常にnullです。私は私のモックで何か間違ったことをしなければならないことを知っています....アイデア?
うんIgnoreArgumentsは不必要です。そのリプレイは私が行方不明だった。 –