Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тестирование ввода\вывода с консоли 
:(
    Опции темы
Aazmandius
Дата 7.10.2010, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


O_o
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 29.4.2006
Где: Vancouver

Репутация: нет
Всего: 6



Какие существуют приемы, позволяющие это сделать? Типичный случай - есть обработчик ввода с клавиатуры, умеет валидировать введенные символы, в случае ошибки выводит в консоль соответствующее сообщение, и нужно написать тест для него. 
PM WWW   Вверх
powerOn
Дата 7.10.2010, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 1
Всего: 159



Взаимодействие класса с консолью в общем случае является взаимодействием с OutputStream. Более того, это stateless взаимодействие, а значит нужно делать проверку поведения, а не состояния. Проверка будет заключаться в подмене объекта консоли на некий Mock объект, который будет ожидать определенных вызовов в определенных ситуациях.


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Старовъръ
Дата 8.10.2010, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 2
Всего: 10



Использование статических методов имеет те же недостатки, что и другие виды global state. Например, вызов System.getCurrentTime() или new Date() никак не замокать, если не применять моск smile Для таких объектов можно создать обертки (wrappers), которые будут то и делать, что вызывать вышеуказанные методы, однако передавая такие обертки в тестируемые объекты, мы можем сделать заглушки на них (моки).
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Design, Quality, Testing | Следующая тема »


 




[ Время генерации скрипта: 0.0654 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.