Hãy nhớ rằng tê giác không còn được phát triển . khuôn khổ mới thả chênh lệch mô hình sơ khai này hoàn toàn và giới thiệu single hạn cho thử nghiệm của họ tăng gấp đôi:
Sự tiến hóa của moc khung làm việc của vua dường như đẩy về phía "một mục đích chung", thay vì có các khung riêng biệt khác nhau tùy thuộc vào ngữ cảnh của trường hợp thử nghiệm.
Để tìm hiểu thêm về cách mà tách (giả, cuống, giả) có nguồn gốc và mục đích gì nó phục vụ, tôi khuyên bạn nên đọc bài viết về Mark Seemann'scontinuum of test doubles:
Tại một cực đoan bạn sẽ tìm thấy núm vú cao su với hoàn toàn không thực hiện, và ở đầu kia là các triển khai sản xuất đầy đủ.Xác ướp và triển khai sản xuất đều được xác định rõ ràng, nhưng cuống, gián điệp và hàng giả khó nắm bắt hơn: khi nào một điệp viên thử nghiệm trở thành giả mạo? Ngoài ra, mocks tồn tại một khoảng thời gian khá lớn trong liên tục, vì chúng có thể khá phức tạp trong một số trường hợp nhưng rất đơn giản ở những người khác.
Nó có vẻ rằng tê giác không phân biệt giữa mô hình và sơ khai, nhưng có sự khác biệt tinh tế. Ví dụ: hãy cân nhắc việc nâng cấp tài sản cố định:
var mock = MockRepository.GenerateMock<IService>();
mock.Stub(m => m.Property).Return(42);
Đây là cách bạn phải làm khi đối tượng giả. Stub Mặt khác, giới thiệu ngữ nghĩa tài sản, mà tầm thường hóa toàn bộ điều:
var stub = MockRepository.GenerateStub<IService>();
stub.Property = 42;
Mặc dù đó là người duy nhất đó là đến tâm trí của tôi tại thời điểm này, có thể có một số chi tiết. Nhưng vẫn còn, đó chỉ là những sắc thái nhỏ.
1: Tính đến 2013/05/19, điều này có thể không còn giữ đúng: Rhino Mocks new home
Nguồn
2012-09-10 23:44:42
Đây là khái niệm của sơ khai so với giả, nhưng như tôi đã nói trong câu hỏi, bạn có thể dùng một giả như một bài hát với Rhino. Vì vậy, trở lại câu hỏi của tôi, lợi ích của việc có hai đối tượng riêng biệt là gì? Chúng ta mất gì bằng cách sử dụng MockRepository.GenerateMock()? –
Có, bạn * có thể * sử dụng mô hình làm cuống. Tuy nhiên, như đã nói ở trên, nếu bạn không bao giờ muốn giả tạo của bạn ảnh hưởng đến kết quả kiểm tra, thì hãy sử dụng một sơ khai. –
Bạn có thể giải thích lý do tại sao? Điều gì về hiển thị một số mã để chứng minh đối số của bạn? –