Tôi là một người mới trong thử nghiệm đơn vị. Stumbled khi một vấn đề của đơn vị kiểm tra một tài sản tải lười biếng và tự hỏi nếu có một giải pháp đơn giản để rằng:Cách đơn giản để kiểm tra đơn vị tài sản tải lười biếng
private SubscriptionType _subscriptionType;
public SubscriptionType SubscriptionType
{
get
{
if (_subscriptionType == null ||_subscriptionType.SubscriptionTypeId != this.SubscriptionTypeId)
{
if (this.SubscriptionTypeId !=0)
_subscriptionType = SubscriptionType.Load(this.SubscriptionTypeId);
}
return _subscriptionType;
}
}
Tôi cần phải kiểm tra logic trong tài sản (nếu báo cáo) và không phải là chức năng tải SubscriptionType thực tế - có vẻ giống như cách tiếp cận rõ ràng nhất ở đây có lẽ sẽ là trừu tượng SubscriptionType.Load và sử dụng một số loại IoC để thay thế bằng một phương thức giả. Tôi chỉ tự hỏi nếu có cách nào đơn giản hơn để tránh loại tái cấu trúc này - có vẻ như hơi quá tải chỉ để viết một trường hợp kiểm thử đơn vị chính xác. Suy nghĩ của bạn? Cảm ơn!
Nhìn vào lớp Lazy trong .NET 4. Sử dụng điều đó, bạn sẽ có ít mã hơn - có lẽ không có gì thậm chí có giá trị thử nghiệm đơn vị –
Bạn đang cố kiểm tra cái gì? Thực tế là tài sản có chứa dữ liệu chính xác hoặc thực tế là nó được tải theo cách lười biếng? – zerkms
Đang cố gắng kiểm tra logic mà nó gọi khi tải khi điều kiện được đáp ứng và bỏ qua Tải khác – DSY