Rhino Mocks错误:上一个方法'IEnumerator.MoveNext();' 需要返回值或抛出异常

Cod*_*lla 10 .net unit-testing rhino-mocks c#-4.0

我有以下测试代码:

parentViewModel = MockRepository.GenerateMock<IParentViewModel>();
parentViewModel.Expect(x => x.GetPropertyValue<IEnumerable<Milestone>>("JobMilestones")).Return(new Milestone[0]);

viewModel = new JobPenaltiesViewModel(j, new Penalty[0], _opContext, parentViewModel);

Assert.That(viewModel.Milestones.Count(), Is.EqualTo(0));
parentViewModel.VerifyAllExpectations();

List<string> propsChanged = new List<string>();
viewModel.PropertyChanged += (s, e) => propsChanged.Add(e.PropertyName);

parentViewModel.Raise(x => x.PropertyChanged += null, parentViewModel, new PropertyChangedEventArgs("JobMilestones"));

AssertPropertiesChangedAsExepected(propsChanged, 1, "Milestones");

Milestone m1 = GenerateMilestone(j);
List<Milestone> milestones1 = new List<Milestone> { m1 };
parentViewModel.Expect(x => x.GetPropertyValue<IEnumerable<Milestone>>("JobMilestones")).Return(milestones1).Repeat.Any();

IEnumerable<Milestone> milestones = viewModel.Milestones;
Assert.That(milestones.Count(), Is.EqualTo(1));
parentViewModel.VerifyAllExpectations();
Run Code Online (Sandbox Code Playgroud)

所有测试和断言都会成功,直到:

Assert.That(milestones.Count(), Is.EqualTo(1));
Run Code Online (Sandbox Code Playgroud)

这就是我得到例外的地方:

Previous method 'IEnumerator.MoveNext();' requires a return value or an exception to throw.
Run Code Online (Sandbox Code Playgroud)

我已经尝试了我能想到的一切,我的测试似乎表明parentViewModel Mock返回null或空枚举(即当我使用调试器检查返回值时'结果视图'表示枚举返回否结果).

我在这里错过了什么?

Cod*_*lla 0

我已经删除了有问题的代码;但我从来没有弄清楚为什么它会这样。