Tôi hiểu cần phải kiểm tra một lớp học có logic (ví dụ: một lớp có thể tính toán giảm giá), nơi bạn có thể kiểm tra lớp thực tế.Tại sao tôi viết một lớp giả và đơn vị kiểm tra nó?
Nhưng tôi mới bắt đầu viết các bài kiểm tra đơn vị cho một dự án sẽ hoạt động như một kho lưu trữ (lấy các đối tượng từ cơ sở dữ liệu). Tôi thấy mình đang viết một kho chứa 'giả' thực hiện giao diện ISomethingRepository
. Nó sử dụng một Dictionary<Guid, Something>
để lưu trữ nội bộ. Nó thực hiện các phương thức Add(Something)
và GetById(Guid)
của giao diện.
Tại sao tôi viết nội dung này? Không có gì tôi viết sẽ thực sự được sử dụng bởi phần mềm khi nó được triển khai, đúng không? Tôi không thực sự thấy giá trị của bài tập này.
Tôi cũng có lời khuyên để sử dụng đối tượng giả mà tôi có thể thiết lập trước để đáp ứng các kỳ vọng nhất định. Điều đó dường như thậm chí còn vô nghĩa đối với tôi: tất nhiên thử nghiệm sẽ thành công, tôi đã chế nhạo/giả mạo nó để thành công! Và tôi vẫn không chắc chắn phần mềm thực tế sẽ thực hiện như mong muốn khi kết nối với cơ sở dữ liệu ...
nhầm lẫn ...
Ai đó có thể chỉ cho tôi đi đúng hướng để giúp tôi hiểu điều này ?
Cảm ơn bạn!
Tôi upvoting điều này, bởi vì đây là một cái gì đó mà irks tôi thường xuyên. Những người ủng hộ TDD nhanh nhất có xu hướng rơi vào tình huống vô tình này và kết thúc các kịch bản/mã thử nghiệm không xảy ra trong thực tế. – FlySwat