C# 如何处理仅为了单元测试而声明成员私有的需要?

C# 如何处理仅为了单元测试而声明成员私有的需要?,c#,visual-studio,nunit,moq,C#,Visual Studio,Nunit,Moq,一方面,我不想将我的私有成员公开,另一方面,如果我将它们私有化,那么单元测试就是一种痛苦 例如,如果我有一个类: public class myClass { public string myString{get;set;} public int myInt{get;set;} } 如果这些设备可以安全地转换为私用设备,我唯一的犹豫就是无法对它们进行彻底的单元测试 您如何在考虑到封装和TDD的情况下考虑代码?如果它们是私有的,则必须仍然有从外部设置它们的方法,否则它们将始终为nul

一方面,我不想将我的私有成员公开,另一方面,如果我将它们私有化,那么单元测试就是一种痛苦

例如,如果我有一个类:

public class myClass
{
   public string myString{get;set;}
   public int myInt{get;set;}
}
如果这些设备可以安全地转换为私用设备,我唯一的犹豫就是无法对它们进行彻底的单元测试


您如何在考虑到封装和TDD的情况下考虑代码?

如果它们是私有的,则必须仍然有从外部设置它们的方法,否则它们将始终为
null
0
。您的测试将只使用该方法。相关-。甚至可能是跨站点复制。