.net Rhino Mock录制\播放模型人工制品
a使用犀牛模型时有一些人工制品.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>();
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));
问题是什么?