Tôi phải viết nhiều mã liên quan đến cổng nối tiếp. Thông thường sẽ có một thiết bị kết nối ở đầu kia của dây và tôi thường tạo ra các mô hình của riêng tôi để mô phỏng hành vi của chúng.Làm cách nào để tạo một mô hình SerialPort bằng thư viện Moq?
Tôi bắt đầu xem xét Moq để trợ giúp các bài kiểm tra đơn vị của mình. Nó khá đơn giản để sử dụng nó khi bạn chỉ cần một sơ khai, nhưng tôi muốn biết nếu nó là có thể và nếu có làm thế nào để tôi tạo một giả cho một thiết bị phần cứng phản ứng khác nhau theo những gì tôi muốn kiểm tra.
Một ví dụ đơn giản:
Một trong những thiết bị giao tiếp với tôi nhận được một lệnh (di chuyển đến vị trí x), phản hồi lại một thông điệp ACK và đi đến một "di chuyển" nhà nước cho đến khi nó đạt đến vị trí đặt hàng.
Tôi muốn tạo kiểm tra nơi tôi gửi lệnh di chuyển và sau đó tiếp tục truy vấn trạng thái cho đến khi nó đạt đến vị trí cuối cùng.
Tôi muốn tạo hai phiên bản của mô hình cho hai thử nghiệm khác nhau, một trong những nơi tôi mong đợi thiết bị đạt được vị trí cuối cùng thành công và vị trí khác sẽ không thành công.
Quá nhiều câu hỏi?
Có, tôi đã có ISerialDrive, một SerialPortDrive và một vài lớp MockSerialPortDrive. Tôi sử dụng SerialPortDrive cho mã sản xuất của mình và tôi sử dụng một mô hình cho từng loại thiết bị mà tôi đang thử nghiệm. Một số là khá thẳng về phía trước và có thể dễ dàng thay thế bằng một mô hình Moq, nhưng những người khác thực hiện một số mô phỏng thông minh hơn về phần cứng mà họ kết nối. –