
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();
}
バージョン3.5の新機能:
- Arrange、Act、Assertモデル
- ラムダおよびC# 3.0拡張機能
- インライン制約
- ネイティブおよび管理対象タイプが混在するC++のモックインターフェイスのサポート。
- その期待を失うことなく、モックオブジェクトがレコードモードに戻ることを可能にする。
- StrictMockを支持し、CreateMockは軽視された。
- エッジケースにおけるより適切なエラー処理
- モック内部クラスおよびインターフェイスで、問題を確定
- 新たなイベント発生構文
コミュニティコメント