Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中声明JSON枚举数组,用于datamember和TDD反序列化_C#_Arrays_Json_Enums_Tdd - Fatal编程技术网

在C#中声明JSON枚举数组,用于datamember和TDD反序列化

在C#中声明JSON枚举数组,用于datamember和TDD反序列化,c#,arrays,json,enums,tdd,C#,Arrays,Json,Enums,Tdd,我在一个文件中创建了这个枚举,并在datamember中使用了枚举数组。对于测试驱动的开发,我很难设置测试。下面是一个例子 在*.cs文件中,我声明 public enum StatusType { [EnumMember(Value = "Ok")] Ok =0, [EnumMember(Value = "Warning")] Warning, // ... } CRUD的一部分是更新,在本模型部分中,我将其作为示例: public partial cla

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

在*.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,测试可以在其中比较枚举数组中的结果。

如果不使用测试驱动设计和实现,则不是测试驱动开发(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