Я хотел бы знать, каковы ваши практики, когда вы тестируете свои классы.Каковы наилучшие практики в ваших тестах?
Например, мне нравится использовать наследование, с моими светильниками. Учитывая два класса BaseClass, SubClass, я делаю два других класса BaseClassFixture и SubClassFixture (SubClassFixture - это подкласс класса BaseClassFixture). Поэтому я уверен, что я не нарушаю код, который использует SubClass как BaseClass (и люди, которые расширяют мой класс, могут быть уверены, что они все делают правильно, создавая еще один подкласс моего инструментария).
Я также накладываю наследование с интерфейсами. Например, когда я создаю приспособление для IList, я проверяю, что любое добавление увеличивает счет на единицу. Когда у меня есть конкретный класс, который реализует IList, я просто создаю приспособление с именем MyConcreteClassIListFixture.
В этом случае прибор для моего интерфейса является абстрактным, и я позволю своему подклассу создать экземпляр для моих тестов.
Я думаю, что это своего рода дизайн по контрактам (см. Bertrand Meyer), потому что я проверяю инвариант до и после любых тестов.
Я делаю это специально с опубликованными интерфейсами или классами.
А вы ... какие у вас практики?
Этот вопрос кажется общим; голосуя вниз. Как нужно задавать более конкретные вопросы? – 2008-10-14 19:18:07