Đối với một bài kiểm tra đơn vị, tôi cần mô phỏng một số phụ thuộc. Một trong những phụ thuộc là một lớp thực hiện giao diện:Chế nhạo một lớp so với chế nhạo giao diện của nó
public class DataAccessImpl implements DataAccess {
...
}
Tôi cần phải thiết lập đối tượng giả định của lớp này trả về một số giá trị được chỉ định khi được cung cấp với một số thông số được chỉ định.
Bây giờ, những gì tôi không chắc chắn, là nếu nó tốt hơn để thử giao diện hoặc lớp, tức là
DataAccess client = mock(DataAccess.class);
vs
DataAccess client = mock(DataAccessImpl.class);
Liệu nó thực hiện bất kỳ sự khác biệt về vấn đề thử nghiệm? Cách tiếp cận ưa thích là gì?
Dưới đây là một số suy nghĩ khác về các lớp chế nhạo. Nice read, imho: http://stackoverflow.com/questions/1595166/why-is-it-so-bad-to-mock-classes – guerda