C# 无法使用rhino Mock将MSTest转换为NUnit测试

C# 无法使用rhino Mock将MSTest转换为NUnit测试,c#,asp.net,unit-testing,mocking,rhino-mocks,C#,Asp.net,Unit Testing,Mocking,Rhino Mocks,我跟随这篇文章来实现MVP模式。 在本文的最后,将执行测试,该测试在MicrosoftVisualStudio测试环境中使用Mock来模拟依赖项。 在我的项目中,我使用NUnit测试环境和RhinoMock来模拟依赖项 在本文中,这些是设置的测试: mockView.SetupSet(v => v.Products = It.Is<List<ProductItem>>(i => i.Count == 3)) .Verifiable(); mo

我跟随这篇文章来实现MVP模式。

在本文的最后,将执行测试,该测试在MicrosoftVisualStudio测试环境中使用Mock来模拟依赖项。 在我的项目中,我使用NUnit测试环境和RhinoMock来模拟依赖项

在本文中,这些是设置的测试:

mockView.SetupSet(v => v.Products = It.Is<List<ProductItem>>(i => i.Count == 3))
        .Verifiable();
mockView.SetupSet(v => v.Total = It.Is<decimal>(t => t == 8.97m))
        .Verifiable();
mockView.SetupSet(v => v.SubTotal = It.Is<decimal>(t => t == 8.97m))
        .Verifiable();
mockView.SetupSet(v => v.Discount = It.Is<decimal>(t => t == 0m))
        .Verifiable();
mockView.SetupSet(v=>v.Products=It.Is(i=>i.Count==3))
.可验证();
mockView.SetupSet(v=>v.Total=It.Is(t=>t==8.97m))
.可验证();
mockView.SetupSet(v=>v.SubTotal=It.Is(t=>t==8.97m))
.可验证();
mockView.SetupSet(v=>v.Discount=It.Is(t=>t==0m))
.可验证();
我喜欢将这些行转换为设置期望值,这是我尝试过的:

_view = MockRepository.GenerateMock<IView>();
_controller = new Presenter(_view);            
_view.Expect(v => v.List = ???); //  List is my property defined in IView
\u view=MockRepository.GenerateMock();
_控制器=新的演示者(_视图);
_view.Expect(v=>v.List=???);//列表是我在IView中定义的属性
注意:我使用NUnit和Rhino Mock进行模拟

非常感谢您的帮助。

伪对象的语法。除了-->
验证异常
是验证行为的旧方法

代码段中的每一行都对单个属性提出了期望。 进行等效验证的“最新”也是最简单的方法是:(在
Assert
部分中放入以下行)

\u view.assertwas调用(x=>x.Products=Arg)
.Matches(list=>list.Count==3);
_调用view.assertwas(x=>x.Total=8.97m);
_调用view.assertwas(x=>x.SubTotal=897万);
_调用view.assertwas(x=>x.Discount=0m);
_view.AssertWasCalled(x => x.Products = Arg<IList<ProductItem>>
                            .Matches(list => list.Count == 3));
_view.AssertWasCalled(x => x.Total = 8.97m);
_view.AssertWasCalled(x => x.SubTotal = 8.97m);
_view.AssertWasCalled(x => x.Discount = 0m);