Tôi đang cố gắng kiểm tra đơn vị một ứng dụng khá phức tạp nhưng sử dụng MVC. Tôi biết việc áp dụng các xét nghiệm đơn vị không phải là lý tưởng nhưng tôi vẫn tin rằng có thể bằng cách tái cấu trúc mã hiện có. Phần lớn thời gian không thể kiểm thử đơn vị một đơn vị, mà không dựa vào các đơn vị khác, tức là chế độ xem dựa trên mô hình.Làm thế nào các xét nghiệm đơn vị có thể được mô-đun khi chúng phụ thuộc vào các đơn vị khác?
Cách tốt nhất để kiểm tra đơn vị trong trường hợp này là gì? Tốt hơn là sử dụng mô hình thực hay tạo mô hình giả?
Vấn đề với việc sử dụng mô hình thực trong tình huống của tôi là mô hình dựa trên các lớp phản hồi khác nhận dữ liệu từ XML để có một chuỗi phụ thuộc. Mô hình này có rất nhiều dữ liệu để dễ sử dụng hơn nhưng có lẽ tôi đang thiếu điểm.
Tôi đã cung cấp UML của ứng dụng cho ngắn gọn.
** Sửa ****
Ok vì vậy nếu tôi đúng, là nó thực hành tốt nhất để tạo ra dữ liệu giả bên trong một lớp học giả? ví dụ tôi có lớp học giả "MockPlaylistPanelModel" tạo ra dữ liệu cần thiết cho việc Xem lớp "PlaylistPanel" để chạy không có lỗi:
class MockPlaylistPanelModel extends Mock implements IPlaylistPanelModel
{
/**
* Return all playlist items
* @public
*/
public function get mainPlaylistItems():Vector.<PlaylistData>
{
var playData:Vector.<PlaylistData> = new Vector.<PlaylistData>;
var playlistResp:PlaylistData = new PlaylistData(0, "", "", 0, 0, 0, 0);
playData.push(playlistResp);
return playData;
}
}
+1 để tham khảo sách, +1 cho Mockito, +1 cho câu trả lời hay - quá tệ tôi chỉ có thể bỏ phiếu một lần ... – weltraumpirat