Ayende Rahien 最近
发布了流行的Mock 框架“Rhino Mocks”的3.5 版本。这个版本在API 方面做了很大改变。除了原有的“Record-Replay”语法外,框架依托
扩展方法引入了一个
新的“Arrange,Act,Assert”语法。Rhino Mocks 的此次增强给
Moq 带来了许多革新,后者是另一个较为流行的.NET Mock 框架。
Rhino Mocks 3.5 版本的例子:
[Test]
public void WhenUserForgetPasswordWillSendNotification_UsingExpect()
{
var userRepository = MockRepository.GenerateStub
var notificationSender = MockRepository.GenerateMock
userRepository.Stub(x => x.GetUserById(5)).Return(new User { Id = 5, Name = “ayende” });
notificationSender.Expect(x => x.Send(null)).Constraints(Text.StartsWith(“Changed”));
new LoginController(userRepository, notificationSender).ForgotMyPassword(5);
notificationSender.VerifyAllExpectations();
}
评论