首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DateOnly对象在向Test传递时获得默认值

DateOnly对象在向Test传递时获得默认值
EN

Stack Overflow用户
提问于 2022-03-17 12:34:06
回答 1查看 221关注 0票数 1

亲爱的堆栈溢出社区

我的问题是,当调用方法时,DateOnly对象todayinForceFrom都有默认值1.1.0001,而不是25.4.2016和26.4.2016。在这里,代码:

代码语言:javascript
复制
    [DataTestMethod]
    [DynamicData(nameof(TestData), DynamicDataSourceType.Method)]
    public void Test(DateOnly today, DateOnly inForceFrom, Status expectedStatus)
    {
        // Test method body
    }

    public static IEnumerable<object[]> TestData()
    {
        yield return new object[] { new DateOnly(2016, 4, 25), new DateOnly(2016, 4, 26), Status.Status1};
    }
EN

回答 1

Stack Overflow用户

发布于 2022-03-17 13:00:21

在传递MSTest‘s时,似乎存在一个问题(能够用自定义的readonly struct来再现行为)。稍后将尝试调查并提交bug报告,但要知道您可以通过为测试数据创建包装类来解决这个问题:

代码语言:javascript
复制
public record MyTestData(DateOnly today, DateOnly  inForceFrom, Status expectedStatus);

public static IEnumerable<object[]> TestData()
{
    yield return new object[] { new MyTestData(new DateOnly(2016, 4, 25), new DateOnly(2016, 4, 26), Status.Status1)};
}

[DataTestMethod]
[DynamicData(nameof(TestData), DynamicDataSourceType.Method)]
public void Test(MyTestData data)
{
    // Test method body
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71512360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档