对象的 AutoFixture 深度冻结
AutoFixture deep freeze of object
我有一个class
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
?
我认为 AutoFixture 没有任何功能可以实现类似的功能,但您可以像这样解决它:
[Theory, AutoData]
public async Task Should_return_correct_statistics(
[Frozen]GetPublicationStatisticsResult dummy1,
[Frozen]GetSwitchboardStatisticsResult dummy2,
[Frozen]GetDashboardStatisticsResult expectedResult)
{
// Test goes here...
}
最好的解决办法可能是重新考虑相关类型的设计。我从来没有遇到过需要这样的功能。你想解决什么问题?
我有一个class
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
?
我认为 AutoFixture 没有任何功能可以实现类似的功能,但您可以像这样解决它:
[Theory, AutoData]
public async Task Should_return_correct_statistics(
[Frozen]GetPublicationStatisticsResult dummy1,
[Frozen]GetSwitchboardStatisticsResult dummy2,
[Frozen]GetDashboardStatisticsResult expectedResult)
{
// Test goes here...
}
最好的解决办法可能是重新考虑相关类型的设计。我从来没有遇到过需要这样的功能。你想解决什么问题?