Модульное тестирование с помощью Singleton - PullRequest
2 голосов
/ 26 января 2011

Я разрабатываю приложение AS3, которое использует класс Singleton для хранения метрик в массивах.Это Singleton, потому что я хочу, чтобы только один экземпляр этого класса создавался, и его нужно создавать из любой части приложения.

Трудность возникает, когда я хочу провести модульное тестирование этого класса.Я думал, что добавление общедоступных геттеров и сеттеров позволит мне правильно протестировать этот модуль и будет полезно для моего приложения.Я читал, что переход к шаблону Factory позволит модульное тестирование или использование инверсии управления.Это, конечно, сделает его более гибким.Я хотел бы знать о мнениях людей по этому вопросу, поскольку существует так много противоречивых мнений по этому поводу!

Спасибо

Крис

1 Ответ

2 голосов
/ 26 января 2011

Если вы используете платформу IoC, то заставьте своих потребителей требовать экземпляр службы в своем конструкторе и настройте платформу IoC для создания только одного экземпляра и продолжайте раздавать его всем запросам во всем приложении. В моем опыте это поведение по умолчанию Касл Виндзор.

Для модульного тестирования вы можете использовать объект Mock вместо реального объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...