Rhino 模拟记录\播放模型制品

发布于 2024-10-17 11:27:08 字数 832 浏览 6 评论 0原文

使用 Rhino Mocks 时有一些人工制品

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

a have some artefacts when using Rhino Mocks

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

余生共白头 2024-10-24 11:27:08

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

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

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

notificationAgent.Start();

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

You are mixing Rhino mock syntaxes. I would use the new AAA syntax. It's much easier.

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

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

notificationAgent.Start();

messageSenderMock.AssertWasCalled(x => x.SendRegisterNodeMessage(machineID)); 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文