Tôi mới dùng RhinoMocks, và cố nắm bắt cú pháp ngoài những gì đang xảy ra dưới mui xe.RhinoMocks: Cách đúng để chế tài sản phẩm getter
Tôi có một đối tượng người dùng, chúng tôi sẽ gọi nó là Người dùng có tài sản có tên IsAdministrator. Giá trị cho IsAdministrator được đánh giá thông qua một lớp khác để kiểm tra các quyền bảo mật của người dùng và trả về true hoặc false dựa trên các quyền đó. Tôi đang cố gắng để giả mạo lớp người dùng này, và giả mạo giá trị trả về cho IsAdministrator để cô lập một số xét nghiệm đơn vị.
Đây là những gì tôi đang làm cho đến nay:
public void CreateSomethingIfUserHasAdminPermissions()
{
User user = _mocks.StrictMock<User>();
SetupResult.For(user.IsAdministrator).Return(true);
// do something with my User object
}
Bây giờ, tôi đang mong đợi rằng Rhino sẽ 'giả' cuộc gọi đến getter tài sản, và chỉ trở thành sự thật đối với tôi. Điều này có đúng không? Hiện tại tôi đang nhận được một ngoại lệ vì phụ thuộc trong tài sản IsAdministrator.
Ai đó có thể giải thích cách tôi có thể đạt được mục tiêu của mình ở đây không?
Chỉ cần lưu ý rằng ví dụ cuối cùng cần một '_mocks.ReplayAll()' trước khi bạn làm bất cứ điều gì với phần sơ khai IUser. –