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