Skip to content

Latest commit

 

History

History

inherit_for_override

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Наследование проверяемого класса для переопределения поведения

Проблемы

Наследник проверяемого класса может вести себя совсем не так, как родитель. Какие-то модификации родителя могут остаться не замеченными тестом, т.к. их замаскируют переопределения методов.

Теория

Проверяемая система в тестах должна быть как можно ближе к продакшен варианту.

Что делать

Внимательно изучить, зачем нужно менять поведение для тестов. Изменить систему так, чтобы не надо было менять поведение.

Например, можно инжектировать в класс фабрику вместо того, чтобы создавать какие-то объекты внутри. Фабрику легко настроить в тестах.