Автофиксировка глубокой заморозки объекта

У меня есть класс

public class GetDashboardStatisticsResult
{
  public GetPublicationStatisticsResult Publications { get; set; }
  public GetSwitchboardStatisticsResult Switchboard { get; set; }
}

Который я использую в моем тесте, как это

public async Task Should_return_correct_statistics([Frozen] GetDashboardStatisticsResult expectedResult);

И мне интересно, есть ли способ заморозить GetDashboardStatisticsResult вместе с его свойствами?

Итак, в конце мы имеем три типа замороженных - GetDashboardStatisticsResult, GetPublicationStatisticsResult а также GetSwitchboardStatisticsResult?

1 ответ

Я не думаю, что AutoFixture имеет какую-либо функцию, которая позволяет что-то подобное, но вы могли бы, возможно, обойти это так:

[Theory, AutoData]
public async Task Should_return_correct_statistics(
    [Frozen]GetPublicationStatisticsResult dummy1,
    [Frozen]GetSwitchboardStatisticsResult dummy2,
    [Frozen]GetDashboardStatisticsResult expectedResult)
{
    // Test goes here...
}

Лучшее решение, вероятно, состоит в том, чтобы пересмотреть дизайн рассматриваемых типов. Я никогда не сталкивался с необходимостью такой функции. Какую проблему ты пытаешься решить?

Другие вопросы по тегам