Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / юнит-тесты для синглтонов с помощью mock objects / 4 сообщений из 4, страница 1 из 1
26.09.2006, 21:04:14
    #34013971
pimeja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
юнит-тесты для синглтонов с помощью mock objects
Здравствуйте,

Как написать юнит-тесты для системы связаных между собой объектов по паттерну Singleton. Юнит-тесты надо написать с использованием mock objects.

Тоесть пусть есть ClassA и в нем:
Код: plaintext
1.
2.
3.
4.
 class  ClassA {
    private  ClassB b = ClassB.getInstance();
   ...
}

Надо написать юнит-тест для ClassA; как ему подсунуть свой MockClassB вместо ClassB?
...
Рейтинг: 0 / 0
26.09.2006, 21:18:56
    #34013980
kakurenbo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
юнит-тесты для синглтонов с помощью mock objects
Общая рекомендация такая: вынести получение инстанса ClassB в отдельный метод, переопределить его в подклассе, в котором возвращать нужный mock
...
Рейтинг: 0 / 0
26.09.2006, 21:36:02
    #34013995
pimeja
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
юнит-тесты для синглтонов с помощью mock objects
а что если поле b статическое?
Код: plaintext
1.
2.
3.
4.
 class  ClassA {
    private   static  ClassB b = ClassB.getInstance();
   ...
}
...
Рейтинг: 0 / 0
27.09.2006, 12:30:56
    #34015354
Pitbull terrier
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
юнит-тесты для синглтонов с помощью mock objects
pimejaа что если поле b статическое?
Код: plaintext
1.
2.
3.
4.
 class  ClassA {
    private   static  ClassB b = ClassB.getInstance();
   ...
}


вынести инициализацию в конструктор, и там использовать п.1
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / юнит-тесты для синглтонов с помощью mock objects / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]