.net Rhino Mock录制\播放模型人工制品

.net Rhino Mock录制\播放模型人工制品,.net,mocking,rhino,.net,Mocking,Rhino,a使用犀牛模型时有一些人工制品 var mocks = new MockRepository(); INotifyMessageSender messageSenderMock; NotificationAgent notificationAgent = null; var machineID = Guid.NewGuid(); messageSenderMock = mocks.DynamicMock<INotifyMessageSender>();

a使用犀牛模型时有一些人工制品

var mocks = new MockRepository();

INotifyMessageSender messageSenderMock; 

NotificationAgent notificationAgent = null;

var machineID = Guid.NewGuid();
messageSenderMock = mocks.DynamicMock<INotifyMessageSender>();                            
notificationAgent = new NotificationAgent(machineID, messageSenderMock);//in constructor                                 

//notification agent subscribes on messageSenderMock event MessageReceived
using (mocks.Record())
{           
    messageSenderMock.SendRegisterNodeMessage(machineID);          
}
notificationAgent.Start(); // this method should call messageSenderMock.SendRegisterNodeMestod
                             // and it calls this mesthod. i checked in debug mode
messageSenderMock.VerifyAllExpectations();
var mocks=new MockRepository();
INotifyMessageSender messageSenderMock;
NotificationAgent NotificationAgent=null;
var machineID=Guid.NewGuid();
messageSenderMock=mocks.DynamicMock();
notificationAgent=新的notificationAgent(machineID,messageSenderMock)//在构造函数中
//通知代理订阅messageSenderMock事件MessageReceived
使用(mocks.Record())
{           
messageSenderMock.SendRegisterNodeMessage(machineID);
}
notificationAgent.Start();//此方法应调用messageSenderMock.SendRegisterNodeMestod
//它称之为mesthod。我检查了调试模式
messageSenderMock.VerifyAllExpections();

您正在混合Rhino-mock语法。我会使用新的AAA语法。这容易多了

INotifyMessageSender messageSenderMock = MockRepository.GenerateMock<INotifyMessageSender>();

NotificationAgent notificationAgent = new NotificationAgent(Guid.NewGuid(), messageSenderMock);

notificationAgent.Start();

messageSenderMock.AssertWasCalled(x => x.SendRegisterNodeMessage(machineID)); 
INotifyMessageSender messageSenderMock=MockRepository.GenerateMock();
NotificationAgent NotificationAgent=新的NotificationAgent(Guid.NewGuid(),messageSenderMock);
notificationAgent.Start();
messageSenderMock.AssertWasCalled(x=>x.SendRegisterNodeMessage(machineID));

问题是什么?