Как протестировать частные поля, которые изменяются через открытые методы

Может любой вести меня с предложенным средством тестирования частного поля в классе, который является 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);
    }
}
5
задан WDuffy 30 July 2010 в 23:10
поделиться