简单测试单元的惰性负载特性的方法

| 我在单元测试中有点新手。偶然发现了一个对延迟加载属性进行单元测试的问题,并想知道是否有一个简单的解决方案:
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;
    }
}
我需要测试属性(如果语句)中的逻辑,而不是实际的SubscriptionType加载功能-似乎最明显的方法可能是抽象SubscriptionType.Load并使用某种IoC来替换模拟方法。 我只是想知道是否有任何更简单的方法来避免这种重构-似乎只是为了编写正确的单元测试用例而进行了过度设计。 你的想法? 谢谢!
已邀请:
除非要使用TypeMock隔离器或Moles,否则必须将Load方法隐藏在接口后面,并将其注入到类中。没有办法解决,但您不仅会出于可测试性而这样做。通常,您还倾向于从此类重构中更好地分离关注点。

要回复问题请先登录注册