Khi sử dụng Rhino Mocks, khi nào thích hợp để sử dụng "VerifyAll" và khi nào tôi nên làm "Asserts"?Rhino Mocks: "Xác minh" và "Xác nhận"
Trả lời
VerifyAll và Verify được sử dụng để kiểm tra xem một số phương thức đã được gọi (và có thể xác minh các tham số mà chúng được gọi). Điều này được coi là "thử nghiệm dựa trên tương tác" và được sử dụng khi bạn muốn xác minh rằng hệ thống đang trong giai đoạn thử nghiệm gọi một phương thức trên một trong các phụ thuộc của nó.
Xác nhận thông thường có nghĩa là bạn muốn đảm bảo giá trị trả lại có giá trị chính xác. Các xác nhận được sử dụng cho cái được gọi là "thử nghiệm dựa trên trạng thái", mà chủ yếu là xác minh trạng thái của hệ thống dưới thử nghiệm sau khi nó đã được thực hiện.
verifyall, check out this.
Ngoài ra, phân biệt Mock and Stub.
Tôi tin rằng VerifyAll thuộc về kiểu cũ hơn khi sử dụng RhinoMocks, nơi bạn sẽ có một bước ghi và một bước phát lại, sau đó bạn sẽ xác minh tất cả Kỳ vọng. Trong mô hình này, bạn sẽ trong bước ghi lại thiết lập một kỳ vọng (ví dụ, Mong đợi rằng phương thức này sẽ được gọi với các tham số x, y và z, v.v.).
Phiên bản mới hơn của RhinoMocks giới thiệu cú pháp Arrange-Act-Assert (AAA) làm mẫu ưa thích; Sử dụng mẫu này, bạn nên sử dụng Assertions ở cuối phương pháp thử nghiệm của mình. Nó vẫn có thể sử dụng VerifyAllExpectations(), nhưng cá nhân tôi nghĩ rằng nó đọc dễ dàng hơn nếu tất cả các Assertions của bạn xảy ra trong một khối ở phần cuối của thử nghiệm.
Vì vậy, tôi đoán câu trả lời (cho tôi dù sao) là nó là sở thích cá nhân; Xem liên kết ở trên, nơi anh ấy có một vài ví dụ về cùng một bài kiểm tra và chọn một bài kiểm tra phù hợp nhất với bạn.
- 1. Rhino Mocks - Xác nhận tài sản Set khi tài sản đã không Nhận
- 2. Rhino Mocks: Mocking HttpRequestBase.Files
- 3. Rhino Mocks & Compact Framework
- 4. Rhino Commons và Rhino Mocks Tài liệu tham khảo?
- 5. Rhino Mocks Partial Mock
- 6. Rhino Mocks stubs và mocks chỉ tốt cho giao diện?
- 7. Rhino Mocks, VerifyAllExpectations
- 8. IgnoreArguments Rhino Mocks() và kiểm tra nếu một lambda được gọi một cách chính xác
- 9. Rhino Mocks: Repeat.Once() không hoạt động?
- 10. Rhino Mocks - Stub .Expect vs .AssertWasCalled
- 11. Rhino Mocks Hướng dẫn từng bước
- 12. Rhino Mocks AAA Bắt đầu nhanh?
- 13. Mocking COM Giao diện bằng cách sử dụng Rhino Mocks
- 14. Rhino Mocks nhận được đối số, sửa đổi và trả lại?
- 15. Dịch vụ xác minh mật khẩu xác minh
- 16. Rhino Mocks - AssertWasCalled: Cách cải thiện thông báo chẩn đoán không rõ ràng khi đối số không chính xác
- 17. Xác nhận, Xác minh và các lệnh khác trong Selenium WebDriver sử dụng C#
- 18. Làm cách nào tôi có thể xác minh rằng bản gốc của Microsoft Fakes (beta)/shim được gọi (như AssertWasCalled in Rhino Mocks)?
- 19. Xác thực NTLM và thẻ thông minh
- 20. Rhino Mocks Khẳng định tài sản Setter được gọi với đúng đối tượng loại
- 21. Rhino Mocks - Chúng ta có thực sự cần cuống?
- 22. Giả lập đối tượng bằng hàm tạo - Rhino Mocks
- 23. Xác minh lỗi trong GCC
- 24. MSOffice kiểu MIME xác minh
- 25. Mã xác minh PHP CAPTCHA
- 26. Xác minh Moq lồng nhau
- 27. java lang xác minh lỗi
- 28. Rspec Mocks trên any_instance với chính xác (n) lần
- 29. đối tượng! = Null xác minh
- 30. Xác minh Mockito Không Failing