Nói rằng tôi có một phương pháp như thế này:
public void OrderNewWidget(Widget widget)
{
if ((widget.PartNumber > 0) && (widget.PartAvailable))
{
WigdetOrderingService.OrderNewWidgetAsync(widget.PartNumber);
}
}
Tôi có một số phương thức như vậy trong mã của mình (nửa trước cho một cuộc gọi Dịch vụ web không đồng bộ).
Tôi đang tranh luận nếu nó hữu ích để làm cho chúng được bảo hiểm với các bài kiểm tra đơn vị. Vâng, có logic ở đây, nhưng nó chỉ là logic bảo vệ. (Có nghĩa là tôi đảm bảo rằng tôi có những thứ tôi cần trước khi cho phép cuộc gọi dịch vụ web xảy ra.)
Một phần trong tôi nói rằng "chắc chắn bạn có thể đơn vị kiểm tra chúng, nhưng nó không đáng thời gian" (Tôi đang trong một dự án đã bị chậm tiến độ).
Nhưng mặt khác của tôi nói, nếu bạn không thử nghiệm chúng và ai đó thay đổi Vệ binh, thì có thể có vấn đề.
Nhưng phần đầu tiên của tôi nói lại, nếu ai đó thay đổi lính canh, thì bạn chỉ đang làm thêm cho họ (vì bây giờ họ phải thay đổi lính canh và đơn vị kiểm tra cho lính canh).
Ví dụ: nếu dịch vụ của tôi nhận trách nhiệm kiểm tra tính khả dụng của Widget thì tôi có thể không muốn người bảo vệ đó nữa. Nếu nó đang được thử nghiệm đơn vị, tôi phải thay đổi hai nơi ngay bây giờ.
Tôi thấy ưu và nhược điểm theo cả hai cách. Vì vậy, tôi nghĩ rằng tôi sẽ hỏi những gì người khác đã làm.
but it is not worth the time" (I am on a project that is already behind schedule).
Chúng tôi là nhà phát triển phần mềm. Lần duy nhất chúng tôi có trong lịch trình là khi chúng tôi chết :)