为数据成员和TDD反序列化在C#中声明JSON枚举数组

问题描述 投票:0回答:1

我在文件中创建了这个枚举,并在数据成员中使用了一个枚举数组。对于测试驱动的开发,我很难设置测试。下面是示例

在我声明的* .cs文件中

public enum StatusType
{

   [EnumMember(Value = "Ok")]
   Ok =0,

   [EnumMember(Value = "Warning")]
   Warning,

   // ...
}

CRUD的一部分是更新的,在此模型部分中,我将其设置为示例:

public partial class Patch
{
   // ...

   [DataMember(Name = "status:enum")]
   public StatusType[] StatusResult { get; set; }

}

*注意声明的数组。

对于TDD,我如何对此进行测试?同时定义两个枚举?

JSON字符串中的示例:

"status:enum": ["ok", "warning"]``

最重要的部分是TDD,其中测试能够比较枚举数组中的结果。

c# arrays json enums tdd
1个回答
0
投票

这不是测试驱动开发(TDD),如果您不使用测试来驱动设计和实现。在类型之后编写测试不是TDD,但仍是自动测试。

不清楚您的意思

对于TDD,我如何对此进行测试?

但是从第二个问题中,我得知您正在询问如何根据JSON示例设置值。您可以在这样的测试中做到这一点:

[Fact]
public void TestExample()
{
    var patch = new Patch
    {
        StatusResult = new[] { StatusType.Ok, StatusType.Warning }
    };

    // Do something with `patch`, e.g.:
    Assert.Contains(StatusType.Ok, patch.StatusResult);
}

此示例使用xUnit.net。

© www.soinside.com 2019 - 2024. All rights reserved.