Тесты для шаблонов

Yoskaldyr

"Спамер"
Партнер клуба
Кто-то тестирует шаблоны в пхп?

Понравился подход в ембере для тестирования компонентов
https://guides.emberjs.com/v2.7.0/testing/testing-components/

Понятно, что пример для js, и не совсем для шаблонов, и для фронтенд фреймворка, но учитывая какой функционал того же твига и сколько логики можно запихнуть в шаблон, то как-то тестировать сложные шаблоны было бы неплохо, т.к. все очень легко поломать при небольших изменениях слишком навороченных шаблонов.

Мне вообще импонирует подход logicless templates (тот же handlebars по версии ember), но если в том же твиге/смарти есть дофига возможностей, то 100% некоторые умелые ручки будут по полной их использовать (зачем разбираться и править код, когда можно по быстрому наговнокодить в шаблоне)
 

Adelf

Administrator
Команда форума
А весь UI каким-нибудь селениумом не проще тестировать?
 
  • Like
Реакции: AmdY

AmdY

Пью пиво
Команда форума
@Adelf +100500. Все эти потуги UI тестировать модульно вызывают недоумение. Я упорно пишу тьму тестов под реакт, а в итоге от них вреда больше, т.к. UI - это бессконеный рефакторинг и сапорт тестов сложнее чем саппорт бизнес кода. А рядом лежат тесты на бэкбоне, которые уже не актуальны и только мешают.

А просты тесты на селениуме или кодецепшине пигутся ну очень быстро, а пользы бывает и больше.
 

Yoskaldyr

"Спамер"
Партнер клуба
@Adelf, Весь ui можно. Но если логики в шаблонах дофига, то смысла от такого тестирования в разы меньше.
поэтому и говорю что подход ембера по тестированию компонентов понравился, т.к. позволяет протестировать независимый набор шаблонов и связанную с ним логику - logicless шаблон и связанный с ним код.
Учитывая сколько логики можно использовать в том же твиге, то логично тестировать сложные шаблоны.
Конечно можно делать в тестах $template->render(тестовый_набор_данных); и проверять результат, после менять тестовые наборы для проверки различных вариантов вывода одного шаблона.
Но не перебор ли это? И вообще сама идея бредовая или нет - тестировать шаблоны?
 

Adelf

Administrator
Команда форума
Мне не нравится данная идея.
Мне почему-то нравятся юнит-тесты в бизнес-коде и на интеграционные можно забить.
А в UI наоборот. Нравятся полные функциональные тесты и не нравятся идеи вроде этой - фактически юнит-тестирования шаблонов.
Но это дело моего вкуса... я пока не могу обьяснить почему так думаю :)
 

AnrDaemon

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

fixxxer

К.О.
Партнер клуба
я пока не могу обьяснить почему так думаю
Думаю так же. Почему? Ну, наверное, потому что UI может меняться без всяких изменений в бизнес-логике 10 раз на дню, и там нечеткий expectation вида "где-то там вижу, что выводится моя фамилия".

А писать тесты как там по ссылке, что color: red, и упаси хоспади не #f00, это ну не знаю, только если надо кому-то рабочее место создать :)
 
Сверху