任何人都可以指导我测试通过公共(public)方法修改的类中的私有(private)字段的建议方法。我读过很多人的评论,建议不建议测试私有(private)成员,因为它们在实现内部,但是这种情况似乎与大多数其他答案不同。
我正在考虑保护私有(private)字段并创建一个公开该字段的测试子类,但如果我无法修改该类的内部结构怎么办?
在下面的示例代码中,要测试的私有(private)成员是 _values,它是一个只写集合,通过 AddValue() 接收新值。
public class Sample
{
private Dictionary<string, string> _values;
private DateTime _created;
public Sample()
{
_values = new Dictionary<string, string>();
_created = DateTime.Now;
}
public void AddValue(string key, string value)
{
_values.Add(key, value);
}
}
最佳答案
您仍然不需要测试您的私有(private)变量。你测试你的接口(interface)。在这种情况下,我可能会添加一个 Count
属性并将其用于某些测试(或类似的东西)
关于c# - 如何测试通过公共(public)方法修改的私有(private)字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3375997/