Я новичок в юнит-тестировании. Наткнулся на проблему модульного тестирования свойства ленивой нагрузки и подумал, есть ли простое решение для этого:
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;
}
}
Мне нужно проверить логику в свойстве (операторы if), а не в реальной функциональности загрузки SubscriptionType - кажется, что наиболее очевидный подход здесь, вероятно, состоит в том, чтобы абстрагировать SubscriptionType.Load и использовать какой-либо тип IoC для замены методом макета ,
Мне просто интересно, есть ли какие-нибудь более простые способы избежать такого рода рефакторинга - это похоже на некоторый переобучение только для написания правильного примера модульного теста.
Твои мысли?
Спасибо!