Size: a a a

2020 November 25

AK

Alexander Kaluzhsky in symfony
buildReport подходит под описание Unit, а вот fetchData - больше к функциональному тестированию
источник

AK

Alexander Kaluzhsky in symfony
Но возможно я ошибаюсь, и старожилы скажут что я не прав
источник

ВБ

Вадим Бардачёв... in symfony
я так понял функциональный тест - это тест со стороны конечного пользователся. Т.е. это идём на роут, получаем ответ и сравниваем.
источник

AK

Alexander Kaluzhsky in symfony
Ну можно и так сказать, только роут в этом случае утрировано. Отдача данных по роуту тоже функция
источник

МФ

Максим Федоров... in symfony
Andrew Kovalyov
назвать тулзу phpunit - наверное был самый неудачный нейминг Себастиана Бергманна
библиотеки для разного рода абстрактного назначения не учитывают холивары... потому все фрйемворки и либы работают с общими парадигмами и подходами

ну и так далее

фреймворк есть фреймворк, а не набор практик как прогнут ьсвою линию для одной из сторон холивара
источник

AK

Andrew Kovalyov in symfony
Максим Федоров
библиотеки для разного рода абстрактного назначения не учитывают холивары... потому все фрйемворки и либы работают с общими парадигмами и подходами

ну и так далее

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

AS

Andrew Stark in symfony
Йоу народу, года 2 не писал тут, вот решил поделиться с коммунити некоторыми своими наработками.
https://bitbucket.org/BonBonSlick/workspace/snippets/MK6K4E
источник

AN

Alexander Nazarov in symfony
Alexander Kaluzhsky
Так например getReport наверное не является функцией без привязки к окружению, и ее можно разбить на fetchData, buildReport. и вот fetchData - привязка к окружению, а вот buildReport уже выполняется на каких то данных полученых раннее
и getReport можно протестировать как Юнит, только вот ну нужно тестировать зависимости когда надо тестить зависимости. Есть же моки и стабы для этого.
источник

AN

Alexander Nazarov in symfony
зачем оно нам?
источник

DT

Dmitriy Tkachenko in symfony
Alexander Nazarov
и getReport можно протестировать как Юнит, только вот ну нужно тестировать зависимости когда надо тестить зависимости. Есть же моки и стабы для этого.
Можно, но не нужно
источник

AN

Alexander Nazarov in symfony
А что нужно? функциональные и приемочные?
источник

DT

Dmitriy Tkachenko in symfony
Переслано от Alexander Kaluzhsky
Так например getReport наверное не является функцией без привязки к окружению, и ее можно разбить на fetchData, buildReport. и вот fetchData - привязка к окружению, а вот buildReport уже выполняется на каких то данных полученых раннее
источник

DT

Dmitriy Tkachenko in symfony
Вот же написано, ты читал хоть на что отвечал?
источник

AN

Alexander Nazarov in symfony
Читал, и ответил
источник

DT

Dmitriy Tkachenko in symfony
а чего тогда спрашиваешь
источник

AN

Alexander Nazarov in symfony
Ну так вы написали что не нужно, вот и вопрос, что нужно? Как вы предлагаете тестировать getReport?
источник

DT

Dmitriy Tkachenko in symfony
разбить на fetchData, buildReport
источник

DT

Dmitriy Tkachenko in symfony
buildReport(fetchData()) и тестировать buildReport спокойно, не обмазываясь моками
источник

AN

Alexander Nazarov in symfony
Ну я это понял так что это все внутри getReport.
function getReport() {
$data = fetchData()
$report = buildReport($data)
}

Можно и не тестировать getReport, но тогда кто то может дописать
if (!$data) throw new Exception и теста на это не будет .
источник

DT

Dmitriy Tkachenko in symfony
Alexander Nazarov
Ну я это понял так что это все внутри getReport.
function getReport() {
$data = fetchData()
$report = buildReport($data)
}

Можно и не тестировать getReport, но тогда кто то может дописать
if (!$data) throw new Exception и теста на это не будет .
smoke или snapshot тест
источник