Đây là cách bạn phải tiêm phụ thuộc cho handler NServiceBus của bạn để kiểm tra nó:phụ thuộc tiêm cho NServiceBus đơn vị xử lý thử nghiệm
Test.Handler<YourMessageHandler>()
.WithExternalDependencies(h => h.Dependency = yourObj)
(http://nservicebus.com/UnitTesting.aspx)
Tuy nhiên nó có nghĩa là tài liệu tham khảo đối tượng phụ thuộc của tôi nên được công khai tôi không thích lắm. Có cách nào để giữ cho nó riêng tư chỉ đọc và gán nó bên trong constructor, do đó, việc triển khai đó chỉ được truyền qua constructor của trình xử lý?
Cảm ơn
Tôi đã thử phương pháp này, nhưng vấn đề là IBus tài sản của xử lý của tôi xảy ra là null trong trường hợp, tôi cần nó được khởi tạo đúng cách – YMC
Bạn có nghĩa là tham chiếu IBus trong trình xử lý? Không thể thêm tham số hàm tạo cho điều đó? Bạn sẽ có thể chỉ cần làm một cái gì đó để tác động của 'public YourMessageHandler (phụ thuộc dep1, IOtherDependency dep2, IBus bus)' và chỉ đơn giản là gán nó từ đó. Xin lỗi nếu tôi thiếu điều gì đó hiển nhiên, tôi chưa bao giờ gặp bất kỳ vấn đề nào khi nhận được các tài liệu tham khảo tôi cần với điều này trước đây. – tmesser
bên phải, bên trong xử lý Bus.Send <> (...) được sử dụng, vì vậy tôi cần xác minh việc thực thi của nó. Vấn đề là tôi không có ý tưởng làm thế nào để nhanh chóng các tài sản của loại IBus, nó phải được thực hiện kỳ diệu bởi NServiceBus, tôi thậm chí không thấy bất kỳ thực hiện công cộng của giao diện, không có lớp 'Bus' hoặc một cái gì đó. Tôi có nghĩa là nó là một cái gì đó ẩn từ chúng tôi phát triển bởi thư viện NServiceBus – YMC