@symfony_php

Страница 496 из 1418
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
ну а как? разве что писать специальный метод

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
вот же пример бехата, тут ты ничего такого не напишешь) расчеты и тд это по юнит части.

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
я говорю что я сделал в кодсэпшене

да, про бехат я знаю.

того я говорю что в кодсэпшене можно наворотить что хочешь , а в бехате нет.

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
Так у вас на дампе тестируется?
по сути фикчерсы, но перед тестами экспорт в dump.sql

чтобы быстрее

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
я просто постгрес/мускуль могу в оперативке запустить
У лары предлагают вообще в ин мемори склайте запускать. :)

в идеальном мире давай еще про пирамиду тестов поговорим
Че ты начинаешь? Нормально же общались. :D

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

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() делаешь ресет бд и будет тебе счастье

Потому что изменил один, упали 3.
и чем длинне цепочка - тем больше надо будет фиксить

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

дурость

хороший набор фикчерсов решает это

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

Vladislav
15.12.2017
22:46:26
данные хранятся в волумах
не хранятся они в волумах. волюм это ж не сторадж

Sergey
15.12.2017
22:46:43
не хранятся они в волумах. волюм это ж не сторадж
волум в докерах это подключаемый сторадж.

но в этом есть смысл... ну не знаю... для нагрузочных тестов

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

Страница 496 из 1418