
Vladislav
15.12.2017
22:27:25
ты об этом. ну возможно, я пишу unit + acceptance
в кодсэпшене в одном проекте

Gaiaz Iusipov
15.12.2017
22:27:32
кодсепшен удобен в функциональщине

Vladislav
15.12.2017
22:27:35
и бехат + пхп спек в другом

Google

Gaiaz Iusipov
15.12.2017
22:27:49
ппц скока всего
а я просто не люблю писать тесты :D

Vladislav
15.12.2017
22:28:07
не, два проекта. на одном кодсэпшн, на втором бехат + пхпспек
не могу сказать что нравится больше, наверное все таки бехат + пхп спек

Gaiaz Iusipov
15.12.2017
22:28:36
что лучше, что посоветуешь?
ага спасибо

Vladislav
15.12.2017
22:28:50
но в кодсэпшене можно воротить что угодно в тесте, так как это код по сути.

Gaiaz Iusipov
15.12.2017
22:29:09
да, а в бехат нельзя чтоли?

Vladislav
15.12.2017
22:29:19
ну например я хочу записать в бд что-то перед тестом, чтобы это потестить. в кодсэпшене достал em, и записал. в бехат так не получится)

Gaiaz Iusipov
15.12.2017
22:29:30
у нас на проекте очень много пхп в тестах, именно всяких расчетов и прочего

Vladislav
15.12.2017
22:29:38
ну а как? разве что писать специальный метод

Gaiaz Iusipov
15.12.2017
22:29:50

Vladislav
15.12.2017
22:29:55

Google

Vladislav
15.12.2017
22:30:06
возможно надо юнит ))

Gaiaz Iusipov
15.12.2017
22:30:08

Vladislav
15.12.2017
22:30:50
что значит функциональные в твоем понимании? в кодсэпшене функциональные это те же acceptance, только реквест и респонс эмулируются и не надо запускать вебсервер для теста

Gaiaz Iusipov
15.12.2017
22:31:13
ну какой-нибудь очередной календарь с мероприятиями, с запланированными, прошедшими и прочим - в функциональном тесте дофигирен кода получилось для проверки всего этого
ну да тогда acceptance

Vladislav
15.12.2017
22:31:41
вот же пример бехата, тут ты ничего такого не напишешь) расчеты и тд это по юнит части.

Dinar
15.12.2017
22:31:41

Vladislav
15.12.2017
22:31:43

Dinar
15.12.2017
22:32:08
Но вообще бехат обычно не для этого же. Мы юзаем чтобы UI тестировать.

Gaiaz Iusipov
15.12.2017
22:32:31
ну да и там дальше по сценарию

Vladislav
15.12.2017
22:32:46
ну да. но вот чтобы протетсить юай мне надо засабмитить было 6 сущностей сначала потому что их в дампе бд нет)

Dinar
15.12.2017
22:33:01
Бехат клиент по сути твоего клиента представляет. Он же не пользуется em.

Vladislav
15.12.2017
22:33:17
я говорю что я сделал в кодсэпшене
да, про бехат я знаю.
того я говорю что в кодсэпшене можно наворотить что хочешь , а в бехате нет.

Dinar
15.12.2017
22:33:57

Vladislav
15.12.2017
22:34:01
но это хорошо с той точки зрения что не наплодишь фигни)

Gaiaz Iusipov
15.12.2017
22:34:06
ок спасибо

Vladislav
15.12.2017
22:34:21
Так Фикстуры напиши.
та есть фикстуры, уже в сумме 10к обьектов. но именно в том кейсе фикстуры не подходили.

Google

Vladislav
15.12.2017
22:34:33
крч бери бехат

Dinar
15.12.2017
22:34:35
Отдельно не создать?

Vladislav
15.12.2017
22:34:38
мне он больше нравится

Dinar
15.12.2017
22:35:07
Просто расчеты проверять юнит тестом. А отображает ли их - бехатом.

Vladislav
15.12.2017
22:36:16
Отдельно не создать?
не получится. надо создавать юзеров + команду + пачку сущностей. получится дубликат. по нормальному надо было сделать для этого теста какую-то миграцию в дополнение к обычному дампу, но не было времени. того сделал так и пока работает.
мой поинт был в том что кодсэпшн это код, ты можешь там запустить что хочешь и как хочешь. в бехате так не получится. что есть хорошо))

Dinar
15.12.2017
22:36:59
Так у вас на дампе тестируется?

Gaiaz Iusipov
15.12.2017
22:37:03
а симфоневские чем не устроили? чего они не умеют или плохо умеют?

Dinar
15.12.2017
22:37:13
Мы просто дампы не юзаем. Только фикстуры.

Vladislav
15.12.2017
22:37:22
чтобы быстрее

Gaiaz Iusipov
15.12.2017
22:37:36
у нас фикстуры и кодсепшен но это хрень

Vladislav
15.12.2017
22:37:40
ресет через дамп намного быстрее фикчерсов

Gaiaz Iusipov
15.12.2017
22:37:46
один тест может сломать другой

Vladislav
15.12.2017
22:37:48
с фикерсами тесты гоняют мин 20

Dinar
15.12.2017
22:38:03

Vladislav
15.12.2017
22:38:16
если не - значит это говно)

Dinar
15.12.2017
22:38:37
Есть пакет от моего СТО. не помню название. :)

Gaiaz Iusipov
15.12.2017
22:38:37
лол, это как?
один тест чтото удалить из базы созданой из фикстур может

Google

Sergey
15.12.2017
22:39:02

Vladislav
15.12.2017
22:39:03

Dinar
15.12.2017
22:39:03
Транзакции и роллбэк

Gaiaz Iusipov
15.12.2017
22:39:19
не откатываем, создаем отдельную тест базы с фикстурами, потом удаляем, знаю что пиздец, это придумали кто раньше работал

Sergey
15.12.2017
22:39:34

Dinar
15.12.2017
22:39:54
https://github.com/dmaicher/doctrine-test-bundle

Vladislav
15.12.2017
22:40:00
ну так напиши 5 тестов и запусти их по очереди в одном

Sergey
15.12.2017
22:40:02

Gaiaz Iusipov
15.12.2017
22:40:07
ну да кодсепшен вроде из коробки делает транзакции

Admin
ERROR: S client not available

Sergey
15.12.2017
22:40:12
я просто постгрес/мускуль могу в оперативке запустить

Dinar
15.12.2017
22:40:34

Gaiaz Iusipov
15.12.2017
22:40:44
а фикстуры кстати быстро раскатывать можно докер контейнером специальным для данных
практически мгновенно
забыл как он называется

Vladislav
15.12.2017
22:41:04
первый раз слышу

Sergey
15.12.2017
22:41:05
волумы?)

Vladislav
15.12.2017
22:41:20
волум это не контейнер для данных же

Google

Gaiaz Iusipov
15.12.2017
22:41:21
нет, волум то тут причем

Dinar
15.12.2017
22:41:28

Gaiaz Iusipov
15.12.2017
22:41:58
в общем в контейнерах же данные не хранят, а есть специальный для данных, вот его удобно для фикстур например как раз

Vladislav
15.12.2017
22:42:17

Gaiaz Iusipov
15.12.2017
22:42:26
ща

Vladislav
15.12.2017
22:42:27
нет с докере спец контенера для данных

Dinar
15.12.2017
22:42:30
Но по сути все равно некошерно чтобы одни тесты от других зависели.

Vladislav
15.12.2017
22:42:32
та и вообще - зачем?

Dinar
15.12.2017
22:42:49
Потому что изменил один, упали 3.

Vladislav
15.12.2017
22:42:53
в кодсэпшене в _before() делаешь ресет бд и будет тебе счастье

Dinar
15.12.2017
22:43:24

Vladislav
15.12.2017
22:43:44
условно 10 тестов, 1 тест создает сущность и называет петя. ты пофиксил что-то с именем и этого петю надо будет фиксить в 9 тестах еще
дурость
хороший набор фикчерсов решает это

Sergey
15.12.2017
22:45:31

Vladislav
15.12.2017
22:45:39
где есть все кейсы которые ты хочешь протестить

Sergey
15.12.2017
22:46:12

Vladislav
15.12.2017
22:46:26

Sergey
15.12.2017
22:46:43
но в этом есть смысл... ну не знаю... для нагрузочных тестов

Dinar
15.12.2017
22:47:07
Он же в любом случае синхронный.