Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.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# 类的新版本有一个新字段;我如何处理类的单元测试?_C# - Fatal编程技术网

C# 类的新版本有一个新字段;我如何处理类的单元测试?

C# 类的新版本有一个新字段;我如何处理类的单元测试?,c#,C#,我有一个在旧版本的类上构建的单元测试项目。假设我正在开发一个新版本,它向类中添加了一个字段,如下所示 public class Customer { public string FirstName { get;set; } } public class Customer2 { public string FirstName { get;set; } public string LastName { get;set; } } 在我的单元测试中,我是否只创建一个新的Cust

我有一个在旧版本的类上构建的单元测试项目。假设我正在开发一个新版本,它向类中添加了一个字段,如下所示

public class Customer
{  
  public string FirstName { get;set; }
}


public class Customer2
{  
  public string FirstName { get;set; }
  public string LastName { get;set; }
}

在我的单元测试中,我是否只创建一个新的Customer2类,其中包含新字段,并针对该类进行测试?

存在单元测试是为了测试逻辑而不是类。因此,您不应该仅仅因为向类添加了1个属性就创建单元测试。如果您只是在类中添加了一个新字段,那么您现有的单元测试将受到该字段的影响,如果出现问题,您将看到它会影响单元测试的结果。如果由于新字段的原因,您需要创建新的服务/组件/方法等。。。在这种情况下,您应该为这些新事物创建单元测试,以证明您的逻辑得到了很好的实现

编辑


如果您使用getter和setter中的逻辑创建属性,那么您应该测试它,否则就不需要为POCO对象创建测试了

这是一个使用多态性的合适案例。展示您当前的单元测试的功能-我猜您想要一个新的单元测试,而不是更新现有的测试。为什么不向客户添加LastName?创建Customer2似乎是一个很大的错误