Максим
01.08.2019
17:17:27
что не так?
Terminator
01.08.2019
17:23:19
@evilbloodydemon будет жить. Поприветствуем!
Некто
01.08.2019
18:47:19
Pavel
01.08.2019
19:16:53
@ibxth а чего ты выходил
Google
Aleksandr
01.08.2019
19:28:24
Terminator
01.08.2019
20:02:52
AV будет жить. Поприветствуем!
AlekVolsk
01.08.2019
20:04:52
приветствую )
имеется ли в php возможностьобращения к классам через переменную?
$class = 'className';
$obj = new $class();
что-то вроде такого
Pavel
01.08.2019
20:06:45
AlekVolsk
01.08.2019
20:10:17
ReflectionClass, спасибо )
ustasby
01.08.2019
20:18:44
Кто знает приемлимые варианты билинга на симфони?
Terminator
02.08.2019
09:45:32
@naimjonYunusov будет жить. Поприветствуем!
Naimjon
02.08.2019
09:45:49
Всем здрасьте
есть GET
data={"test1":"value1","test":"test"}
скажите кто знает как декодировать в php?
Делаю так: json_decode($this->request->get['data']); но не декодируется
Arkadiy
02.08.2019
10:18:22
В общем ребят я не сильно прохаванный в ивентах, но объясните мне что означает "AfterTalks Sprint #6" Я понимаю что это "После переговоров спринт", но не понимаю в каком стиле будет проходить мероприятие
Google
Adel
02.08.2019
10:22:17
Почему спринт - не знаю
Arkadiy
02.08.2019
10:22:57
Adel
02.08.2019
10:23:33
Есть вероятность
Arkadiy
02.08.2019
10:24:20
Понял, спасибо
Pavel
02.08.2019
10:26:17
Звучит как серия распитий стаканчиков по 100 грамм после докладов.
Arkadiy
02.08.2019
10:32:49
Terminator
02.08.2019
10:49:05
@egor90wd будет жить. Поприветствуем!
Egor
02.08.2019
10:50:15
привет, подскажите плз, рефлекшном можно достасть значения объектов пришедших в конструктор объекта?
Pavel
02.08.2019
11:34:36
Egor
02.08.2019
11:35:16
понял, уже разобрался
Dozvon
02.08.2019
12:17:48
Привет
I no live|21:10:06
02.08.2019
12:17:49
Привет сейчас меня нет, я отвечю вам позже!.
Dozvon
02.08.2019
12:19:05
Как можно получить имя папки в которой находится папка со скриптом ?
Andrew P.
02.08.2019
12:20:09
Aleksandr
02.08.2019
12:31:25
getcwd
Это же текущая рабочая дирректория.
А ему, видимо, нужно realpath(DIR.'/../');
Andrew P.
02.08.2019
12:32:18
Aleksandr
02.08.2019
12:33:03
Я предполагаю, а не читаю мысли. Один фиг getcwd совсем мимо кассы, т.к. возвращает текущую рабочую дирректорию
Andrew P.
02.08.2019
12:34:11
Google
Maksim
02.08.2019
12:37:30
Добрый день, скажите пож, protected методы можно протестировать через Mockery? пока только увидел как можно из замокать, а протестить? как вызвать их из теста
Anatoliy
02.08.2019
12:41:11
вызвать из теста публичные методы которые используют приватные - не вариант?
Maksim
02.08.2019
12:41:58
Anatoliy
02.08.2019
12:45:56
ну на практике я бы так не заморачивался, биснесу нужно что бы приложение работало, а не что бы было приватные метобы были бы покрыты тестами
если это тдд то делаешь сначала меток публичным, тестиш его во все стороны, а потом делаешь приватным и уже тестишь те публичные методы которые завязаны на приватных
вообще какая задача решается этими тестами?
Maksim
02.08.2019
12:47:57
соответственно нужно вызвать этот метод и замокать реальный запрос к микросервису вернув свой массив результатов
и проверить что эти результаты правильно записались в объекты
или упали если каких-то данных нету
Pavel
02.08.2019
12:52:48
А вообще ты не должен этого хотеть, протектед методы нельзя тестировать.
Maksim
02.08.2019
12:54:36
Pavel
02.08.2019
12:55:13
Вот через публичный метод ты должен тестировать все возможные комбинации.
Если там в методе дергаются какие-то сервисы то замокай их с нужным поведением. Проверь что это сервисы вызываются и т.д.
Если этот метод так важен сам по себе, то можно его вынести в отдельный сервис и уже отдельно тестировать.
Maksim
02.08.2019
13:00:58
Если этот метод так важен сам по себе, то можно его вынести в отдельный сервис и уже отдельно тестировать.
что значит в отдельный сервис?) ухх... это и есть класс сервиса который получает данных из микросервиса, единственное что есть еще кеш, то есть публичный метод в этом классе только один:
его задача проверить есть ли в кеше для переданных сущностей данные, для тех которых нету в кеше мы дозапрашиваем из сервиса и выполняем merge в один большой резльтат - который возвращаем из этого класса, или вы предлгаете раздробить этот класс на 2 сервиса, один будет называться сервис кеша, второй сервис работы с микросервисом ? получается либо архитектура заранее не верная исходя из ваших предложений, либо пишем код не для денег а ради тестов )
Pavel
02.08.2019
13:03:18
> либо пишем код не для денег а ради тестов )
Ну, чтобы писать код для денег, приходится писать код для тестов, такова селяви
Иначе будут появляться баги, и деньги будут утекать на их исправление.
Но тут насколько я могу судить по расплывчатому описанию можно написать 2 группы тестов - одна на получение данных когда известно что их нет в кеше, другая на получение данных когда известно что они есть в кеше.
Google
Pavel
02.08.2019
13:04:37
Во втором случае в тесте надо будет прописать условие что обращения к сервису никогда не должно произойти.
$this->expect($this->never())->method(...
Terminator
02.08.2019
13:06:40
@system0balance будет жить. Поприветствуем!
Mr. Blonde
02.08.2019
13:07:32
✋
Terminator
02.08.2019
13:08:23
@glex82 будет жить. Поприветствуем!
[Anonymous]
02.08.2019
13:08:45
Мускул можно вообще использовать при большом объеме данных?
Есть бд с юзерами у каждого должно быть от 3 до 6 ссылок. Получается нужна отдельная тублица, где будет по одной ссылке на каждого пользователя. Вопрос в том, что будет по производительности если например 25к пользователей и 100к ссылок в общем? выборка делается каждый раз при подгрузке пользователя. Создается ощущение что мускул для токого не предназначен ☹️☹️
Aleksandr
02.08.2019
13:11:37
Maksim
02.08.2019
13:12:54
Pavel
02.08.2019
13:14:06
Тест не должен проверять что кеш и http правильно работает, на них надо написать свои тесты.
[Anonymous]
02.08.2019
13:14:22
Maksim
02.08.2019
13:15:02
Aleksandr
02.08.2019
13:15:42
[Anonymous]
02.08.2019
13:17:00
Aleksandr
02.08.2019
13:17:22
[Anonymous]
02.08.2019
13:17:23
точнее не на каждого, а на определенного
окей))
Maksim
02.08.2019
13:19:22
Pavel
02.08.2019
13:19:41
Google
Maksim
02.08.2019
13:23:41
Без кода я не знаю что советовать.
в любом случае это уже можно почитать паттерны подходы, основная идея понятна, сейчас выполню feflection class и invoke чтобы просто покрыть этот метод, а в будущем отрефакторим