2011-02-15 50 views
2

一个使用犀牛制品犀牛嘲笑记录游戏模式文物

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(); 
+1

这是什么问题? – 2011-02-15 11:54:31

回答

1

当你混合犀牛模拟语法有一些文物。我会使用新的AAA语法。这很容易。

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

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

notificationAgent.Start(); 

messageSenderMock.AssertWasCalled(x => x.SendRegisterNodeMessage(machineID));