PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Bio man
Отправлено: 01 Апреля, 2016 - 21:16:49
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2752
Дата рег-ции: Июль 2010  
Откуда: Даугавпилс, Латвия


Помог: 52 раз(а)




Нужно ли тестировать объекты используемые в качестве составляющих другого объекта (композиция)?

Классический пример с классом Car:
нужно ли тестировать класс Engine, или достаточно тестов только для Car?
 
 Top
maggie
Отправлено: 09 Июля, 2020 - 11:14:00
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Сент. 2015  


Помог: 0 раз(а)




Нужно все тестировать.
 
 Top
imbecile
Отправлено: 12 Июля, 2020 - 13:05:35
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Июль 2020  


Помог: 0 раз(а)




есть полезная метрика "покрытие кода тестами", если не протестируете Engine, 100% никогде не достигнете )
 
 Top
LIME
Отправлено: 15 Июля, 2020 - 10:07:38
Post Id



Активный участник


Покинул форум
Сообщений всего: 10685
Дата рег-ции: Нояб. 2010  


Помог: 321 раз(а)




imbecile пишет:
100% никогде не достигнете )
и не надо этого хотеть
Bio man Смотря что за тесты. Функциональные и приемочные тестируют все внутренности, но нет гарантии что покрыл все кейсы для всех модулей(классов) и они медленные(для больших проектов важно), и для них придется подделывать инфраструктуру(всякие хранилища, очереди итд), а это может превратиться в больно на крупных проектах. А по модульным
Bio man пишет:
нужно ли тестировать класс Engine, или достаточно тестов только для Car?
как ни странно ответом будет: тебе решать)
Если там сложная логика, ответственное место, был уже баг - лучше покрыть. А еще лучше писать сначала тест и его использовать при написании модуля. Кстати баги имеют свойство кучковаться вокруг плохо написанных/сложных модулей.
По канону для модульного теста агрегируемый объект надо мокать. Все что смотрит наружу или приходит извне мокают на разные кейсы. Типа а вот если он так ответит, а вот если так, а вот теперь он бросил такое исключение. И все это подделывается моком. Весь внешний мир это моки)

(Отредактировано автором: 17 Июля, 2020 - 10:23:51)



-----
DDD
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Тестирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB