Rhino Mocks:Mocked方法返回null

Dav*_*ans 3 rhino-mocks mocking

我正在尝试模拟数据存储库对象但是在我的MockRepository上设置了一个期望之后,它每次都返回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;
          }
    }
Run Code Online (Sandbox Code Playgroud)

测试底部的断言失败,返回的人总是为空.我知道我的模拟......想法一定是做错了吗?

wom*_*omp 6

尝试做一个

mockRepository.ReplayAll()
Run Code Online (Sandbox Code Playgroud)

在您设置Expect的行之后.