Может любой вести меня с предложенным средством тестирования частного поля в классе, который является modifed через открытый метод. Я прочитал много комментариев от людей, предполагающих, что тестирование членов парламента, не занимающих официального поста не рекомендуется, поскольку они внутренние к реализации, однако этот сценарий, кажется, отличается от большинства других ответов.
Я думал о создании частного защищенного поля и создание тестового подкласса, который выставляет поле, но что, если я не мог бы изменить внутренности класса?
В примере кода ниже члена парламента, не занимающего официального поста для тестирования был бы _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);
}
}