Có thể nói trong mã nếu một đối tượng nhất định là một giả Mockito hay không?Làm cách nào để biết một đối tượng có phải là mô hình Mockito không?
Lý do tôi muốn thực hiện việc này là trả về một thông báo lỗi khác khi một mô hình được sử dụng. Điều này sẽ được sử dụng để gợi ý cho các nhà phát triển khác rằng họ nên sử dụng một mô hình được chuẩn bị trước đã được thiết lập để trả lời các cuộc gọi một cách hữu ích hơn là tạo ra bản thân giả.
Hiện tại, tốt nhất tôi có là object.getClass().getName().contains("EnhancerByMockitoWithCGLIB")
nhưng điều này cảm thấy bị hack.
Tiếp theo từ câu trả lời của bạn, tôi đã xem [nguồn cho MockUtil] (https://fisheye2.atlassian.com/browse/mockito/trunk/src/org/mockito/internal/util/MockUtil.java? r = 2020) và trực tiếp theo phương thức 'isMockitoMock' riêng có phương thức' isMock' công khai mà dường như nó có thể được sử dụng. Tôi sẽ đăng trên danh sách gửi thư của Mockito để kiểm tra xem liệu có nên gọi các phương thức từ chính bản thân org.mockito.internal.util' hay không. – mikej
Một trong những ý định của gói 'org.mockito.internal.util' là nhóm Mockito có thể thay đổi bất kỳ thứ gì trong gói này, trong một phiên bản mới hơn. Vì vậy, nếu bạn sử dụng gói này, các thử nghiệm của bạn có thể phá vỡ trong tương lai. Tuy nhiên, rất khó có khả năng chúng tôi sẽ loại bỏ phương pháp đặc biệt này, vì vậy tôi nói nó khá an toàn để sử dụng. –
@mikej: 1, bằng cách nào đó tôi đã bỏ lỡ điều đó, cảm ơn! Tôi đã loại bỏ câu trả lời cũ và đưa ra đề xuất của bạn thay vào đó để nó nổi bật hơn. Hy vọng bạn không nhớ. –