Logo ru.boatexistence.com

Почему синглтоны трудно тестировать?

Оглавление:

Почему синглтоны трудно тестировать?
Почему синглтоны трудно тестировать?

Видео: Почему синглтоны трудно тестировать?

Видео: Почему синглтоны трудно тестировать?
Видео: Singleton - избегайте его 2024, Май
Anonim

Причина, по которой сложно протестировать одноэлементный класс, заключается в том, что вы не можете инициализировать класс для каждого теста снова, потому что он может быть инициализирован только один раз (и, следовательно, дает вам много работы, чтобы правильно установить все значения для каждого теста).

Почему сложно протестировать синглтон?

Трудно тестировать код, использующий синглтоны.

Вы не можете контролировать создание объекта синглтона, потому что часто он создается в статическом инициализаторе или статическом методе. В результате вы также не можете имитировать поведение этого экземпляра Singleton.

В чем проблема с синглтонами?

Синглтоны мешают модульному тестированию: Синглтон может вызывать проблемы при написании тестируемого кода, если объект и связанные с ним методы настолько тесно связаны, что становится невозможным тестирование без написания полнофункциональный класс, посвященный Singleton.

Каковы недостатки синглтона в модульном тестировании?

Чтобы запустить код, содержащий синглетоны, в тестовом наборе, мы должны ослабить свойство синглтона. Вот как мы это делаем. Первым шагом является добавление нового статического метода в класс singleton. Метод позволяет заменить статический экземпляр на синглтон.

Почему singleton мешает модульному тестированию?

В модульном тестировании каждый из модульных тестов должен быть независимым друг от друга. Еще одна причина, из-за которой шаблон проектирования Singleton усложняет вам жизнь при модульном тестировании, заключается в том, что поскольку они остаются в памяти до тех пор, пока приложение не будет запущено Следовательно, они сохраняют состояние, пока приложение остается в памяти.

Рекомендуемые: