gpt4 book ai didi

autofixture - 让AutoFixture在UTC中创建DateTime吗?

转载 作者:行者123 更新时间:2023-12-04 05:30:56 29 4
gpt4 key购买 nike

默认情况下,AutoFixture在“本地未指定时间”中创建DateTime结构。

我一直在尝试找到一种方法来配置它以创建具有UTC类型的DateTime结构,但是到目前为止没有成功。

有没有办法做到这一点?

最佳答案

您可以为此使用Decorator(尽管也可能存在更简单的解决方案):

var fixture = new Fixture();
fixture.Customizations.Add(new UtcRandomDateTimeSequenceGenerator());

var dateTime = fixture.Create<DateTime>();
// -> The value of 'dateTime' is in Coordinated Universal Time (UTC).
UtcRandomDateTimeSequenceGenerator定义为:
internal class UtcRandomDateTimeSequenceGenerator : ISpecimenBuilder
{
private readonly ISpecimenBuilder innerRandomDateTimeSequenceGenerator;

internal UtcRandomDateTimeSequenceGenerator()
{
this.innerRandomDateTimeSequenceGenerator =
new RandomDateTimeSequenceGenerator();
}

public object Create(object request, ISpecimenContext context)
{
var result =
this.innerRandomDateTimeSequenceGenerator.Create(request, context);
if (result is NoSpecimen)
return result;

return ((DateTime)result).ToUniversalTime();
}
}

关于autofixture - 让AutoFixture在UTC中创建DateTime吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22686907/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com