2008-11-16 28 views

Trả lời

20

Xin chào, tôi là trưởng nhóm dự án PascalMock và đây là lần đầu tiên tôi nghe nói về Delphi Mock Wizard! Bổ sung rất tốt cho PascalMock.

BTW bạn cũng có một số khuôn khổ giả nhỏ:

Có thể có một số những người khác xung quanh?

Ngoài ra PascalMock là nguồn mở và đóng góp hoặc ý tưởng cải tiến được hoan nghênh.

PS: Phiên bản PascalMock mới nhất từ ​​CVS thêm các tính năng bổ sung cho phiên bản 1.1, như:

  • tạo mô hình tự động tại thời gian chạy cho các giao diện sử dụng RTTI
  • cho phép hy vọng phương pháp gọi trong bất kỳ thứ tự
  • dự kiến ​​ít nhất x cuộc gọi của phương thức
11

Mặc dù nó ổn định, PascalMock chưa hoạt động trong nhiều năm.

Có thư viện mô hình mới có tên là Delphi Mocks. Nó chỉ hoạt động với Delphi XE2 hoặc mới hơn.

2

Delphi Mock Wizard chỉ tạo trình hướng dẫn cho Pascal Mock. Họ không cạnh tranh triển khai.

7

Hãy thử Dsharp. Nó giống như Delphi Mocks, nhưng không có Rò rỉ bộ nhớ.

IMHO DSHARP tốt hơn, mặc dù lúc đầu tôi rất hào hứng với Delphi Mocks.

5

Nguồn của chúng tôi mở mORMot framework bây giờ có thể, trong phiên bản ổn định của nó, để cuống hoặc giả bất kỳ giao diện Delphi.

Như thường lệ, cách tốt nhất để giải thích thư viện làm gì là xem mã bằng cách sử dụng nó. Dưới đây là một ví dụ (tương tự như một vận chuyển với RhinoMocks) xác minh rằng khi chúng ta thực hiện "quên mật khẩu" kịch bản, chúng tôi nhớ để gọi Save() phương pháp đúng:

procedure TMyTest.ForgotMyPassword; 
var SmsSender: ISmsSender; 
    UserRepository: IUserRepository; 
begin 
    TInterfaceStub.Create(TypeInfo(ISmsSender),SmsSender). 
    Returns('Send',[true]); 
    TInterfaceMock.Create(TypeInfo(IUserRepository),UserRepository,self). 
    ExpectsCount('Save',qoEqualTo,1); 
    with TLoginController.Create(UserRepository,SmsSender) do 
    try 
    ForgotMyPassword('toto'); 
    finally 
    Free; 
    end; 
end; 

Và ...đó là tất cả, vì việc xác minh sẽ diễn ra khi phiên bản IUserRepository sẽ được phát hành.

tính năng có sẵn (một số là độc đáo so với các khuôn khổ chế giễu khác Delphi):

  • Rõ ràng distinction between stubs and mocks, với hội nhập với our Unit Testing classes;
  • Xử lý các tham số varout làm giá trị trả về, ngoài kết quả hàm;
  • Định nghĩa chính xác qua giao diện thông thạo hoặc đại biểu/gọi lại;
  • Mocking thông qua các mẫu "mong chạy-xác minh" và/hoặc "chạy xác minh" (còn gọi là "kiểm tra gián điệp"), theo lựa chọn, tùy thuộc vào kỳ vọng kiểm tra của bạn;
  • Truy tìm cuộc gọi phương pháp tích hợp;
  • Nguồn mở, hoạt động từ Delphi 6 lên đến XE3;
  • Nhẹ và nhanh (không dựa vào TV ảoInterface chậm).

Xem bài viết trên blog có liên quan:

Các vấn đề liên quan