@symfony_php

Страница 1401 из 1418
Sergey
21.10.2018
14:28:47
на груви пайплайны пишешь?)

Sergey
21.10.2018
14:28:53
ой не дави на больное

ненавижу груви

благо на gradle избавился от груви

Google
Sergey
21.10.2018
14:29:10
не сказать что я ненавижу... отношусь к нему как к башу

"чуть лучше php")

Sergey
21.10.2018
14:29:49
у меня вечно поддержка IDE отваливается

Sergey
21.10.2018
14:30:08
ммм... я даже не пытался)

Sergey
21.10.2018
14:30:12
а если на пайплайнах нужно что-то нетривиальное писать

Sergey
21.10.2018
14:30:13
просто в виме херачу

Sergey
21.10.2018
14:30:25
то с груви становится весело

Sergey
21.10.2018
14:30:55
я пока балуюсь и эксперементтирую с шаред модулями для пайплайнов - пытаюсь таким образом все говно причесать

но чет тяжко да и лень

Andrew
21.10.2018
15:12:57
@fes0r "You can't simply check is a response is equal to given string as there are things like server-generated IDs and timestamps." https://stackoverflow.com/questions/24015943/how-to-test-if-string-contains-another-string-in-phpunit Проверить конкретно есть ли что, не вижу опять таки проблемы устроить свой поиск или покопаться в доке рнрюнит, в инете как сделать без особого оверхеда и доп пакетов. "Key ordering should be the same both for your API and for expected JSON." Тоже изи как по мне, в рнрюнит есть методы на проверку структуры массива, ключей, сделать json_decode и вуоля. "Matching the whole responses breaks DRY for the tests" Вообще никогда такого не делал, тогда тесты будут падать после каждой правки. Только тестирую ж ожидаемый результат. Если добавил друга, то проверяю есть ли друг в массиве, все остальное бесползено. Делаю методом который привел выше. Возможно пока не сталкивался с какими то кейсами специфическими. Пока работает так :) В вашем же списке Favorite talks есть видосики как писать тесты.

vim мне не оч, к nano привык уже.

Sergey
21.10.2018
15:13:33
@fes0r "You can't simply check is a response is equal to given string as there are things like server-generated IDs and timestamps." https://stackoverflow.com/questions/24015943/how-to-test-if-string-contains-another-string-in-phpunit Проверить конкретно есть ли что, не вижу опять таки проблемы устроить свой поиск или покопаться в доке рнрюнит, в инете как сделать без особого оверхеда и доп пакетов. "Key ordering should be the same both for your API and for expected JSON." Тоже изи как по мне, в рнрюнит есть методы на проверку структуры массива, ключей, сделать json_decode и вуоля. "Matching the whole responses breaks DRY for the tests" Вообще никогда такого не делал, тогда тесты будут падать после каждой правки. Только тестирую ж ожидаемый результат. Если добавил друга, то проверяю есть ли друг в массиве, все остальное бесползено. Делаю методом который привел выше. Возможно пока не сталкивался с какими то кейсами специфическими. Пока работает так :) В вашем же списке Favorite talks есть видосики как писать тесты.
"устроить свой поиск" - звучит как проблема а не ее решение)

@fes0r "You can't simply check is a response is equal to given string as there are things like server-generated IDs and timestamps." https://stackoverflow.com/questions/24015943/how-to-test-if-string-contains-another-string-in-phpunit Проверить конкретно есть ли что, не вижу опять таки проблемы устроить свой поиск или покопаться в доке рнрюнит, в инете как сделать без особого оверхеда и доп пакетов. "Key ordering should be the same both for your API and for expected JSON." Тоже изи как по мне, в рнрюнит есть методы на проверку структуры массива, ключей, сделать json_decode и вуоля. "Matching the whole responses breaks DRY for the tests" Вообще никогда такого не делал, тогда тесты будут падать после каждой правки. Только тестирую ж ожидаемый результат. Если добавил друга, то проверяю есть ли друг в массиве, все остальное бесползено. Делаю методом который привел выше. Возможно пока не сталкивался с какими то кейсами специфическими. Пока работает так :) В вашем же списке Favorite talks есть видосики как писать тесты.
по тестам и видосикам у меня там вроде как только про юнит тесты или про то что интеграционные это афера. Про тесты API не припомню что бы хоть что-то было.

Google
Andrew
21.10.2018
15:14:33
:) Если можно так делать не значит что нужно

Sergey
21.10.2018
15:15:27
опять же - что до апишек - мне больше интересна автоматическая проверка контрактов, а ковыряться в json-ках мне не интересно

Andrew
21.10.2018
15:15:32
Надо будет посмотреть "api unit testing" как делают другие, интересно стало

Sergey
21.10.2018
15:15:44
api unit testing -> api integration testing

ну либо у тебя есть изолированные штуки которые занимаются формированием json-ок

короч, юнит тесты - это не тесты на phpunit

Andrew
21.10.2018
15:16:42
Не совсем понимаю

Sergey
21.10.2018
15:18:17
сама фраза api unit testing попахивает подменой понятий ибо тесты апи никак не могут быть юнит тестами. Ну либо дай свое определение оным

p.s. когда у тебя юнитом выступает вся апишка - теряется всякий смысл юнит тестов.

Антон
21.10.2018
15:56:21
Подскажите, как можно подменить коннекты к бд для автотестов? Которые в phpunit.xml указаны

Vladislav
21.10.2018
16:01:54
Test env

Konstantin
21.10.2018
16:35:00
тестишь интеграцию нескольких модлей друг с другом, а юниты это атомарные тесты болтиков и шестеренок

Антон
22.10.2018
04:55:26
Главный вопрос - зачем
чтобы проверить результат в случае ошибки коннекта к бд

Boris
22.10.2018
06:27:30
Всем привет.



Кто Зандстру читал, подскажите, плз, к чему тут пример этого кода?

Pattern prototype, глава 9 стр. 203 в пятом издании.

Bohdan
22.10.2018
06:30:48
ну типа Sea - container, FishResource - contained

Google
Andrey
22.10.2018
06:31:34
Кто Зандстру читал, подскажите, плз, к чему тут пример этого кода?
по умолчанию php не клонирует вложенные объекты. С прототипом ты ожидаемо можешь заюзать клонирование, но без реализации __clone ты получишь тот же экземпляр свойства

Boris
22.10.2018
06:34:42
по умолчанию php не клонирует вложенные объекты. С прототипом ты ожидаемо можешь заюзать клонирование, но без реализации __clone ты получишь тот же экземпляр свойства
Это я понимаю. Не совсем понятно из текста в конкретном примере Sea может содержать один или несколько ресурсов? И каким образом ресурс будет передаватся в Sea? При загрузке экземпляров в фабрику? $factory = new TerrainFactory( new EarthForest(), new MarsPlains(), new EarthSea(-1, new OilResource()) );

Boris
22.10.2018
06:35:24
Вопрос в том как делать лучше)

И нормально ли, если например Sea сможет содержать для начала только один ресурс и передаваться в него он будет при создании фабрики?

Andrey
22.10.2018
06:36:49
Konstantin
22.10.2018
09:59:42
с некоторых пор шторм стал черезчур умный и начал добавлять репозитории из /vendor/* в зарегистрирование корни vcs, создавая месиво репозиториев. ходить руками отключать лень, как то можно вертать все взад чтобы такого небыло? потому что при composer install там набивается вагон и маленькая тележка

Bohdan
22.10.2018
10:00:12
та же фигня галки сняты по дефолту, я не парюсь

Konstantin
22.10.2018
10:24:36
на той же версии, да. я открыл проект, открыл тут же терминал, написал composer install, пока он копирует в вендора - иде их индексирует и тут же добавляет в вцс, просто попап выскакивает типа "игнорировать"

раньше ничего не добавлял и не детектил, молча устанавливает и индексирует

Maksim
22.10.2018
12:58:37
WI-38997 Auto generated annotation for nullable type is inconsistent Resolved Issue was resolved. State In Progress → Fixed Fix versions Next EAP перфекционист внутри доволен :)

теперь не придётся клешнями править null|string и null|object)

Arky
22.10.2018
13:00:33
поскорей бы еап след, а то чот этот на 16 дней дали

Артур Евгеньевич
22.10.2018
13:01:13
теперь не придётся клешнями править null|string и null|object)
следующий шаг будет отучиться от докблоков, которые дублируют информацию языковых конструкций)

Icewild
22.10.2018
13:01:27
Maksim
22.10.2018
13:01:29
не, не возможно :)

уже? или ждать пока обновится
еап новый когда выпустят. пока нету

Google
Konstantin
22.10.2018
13:09:48
как описать возврат fluent интерфейс? не видел static типа возврата, видел self

селф не подхватывается штормом

Maksim
22.10.2018
13:10:10
static пиши в @return

Konstantin
22.10.2018
13:10:14
точнее если A.foo():self то B.foo() returns A

Maksim
22.10.2018
13:10:20
а лучше не юзай флюент интерфейс) уже не модно)

Konstantin
22.10.2018
13:10:26
поэтому докблоки еще рулят. пока что

читабельность и красивый внешний вид > мода

Артур Евгеньевич
22.10.2018
13:11:40
ща проверю

Maksim
22.10.2018
13:12:22
мне глаза напалмом выжигает, если есть рядом 2 метода: 1 с пхпдоком, второй без)

Icewild
22.10.2018
22:18:11
не думаю, что в return-type можно написать $this

Sergey
22.10.2018
22:50:48
как описать возврат fluent интерфейс? не видел static типа возврата, видел self
self. либо ты расширяешь пост условия что не оч хорошая идея

не думаю, что в return-type можно написать $this
такие вещи прекрасно выводятся, оно ж для автокомплита надо)

Konstantin
22.10.2018
22:52:10
про пхп прям как про взрослый язык, "пост-условия"

Jan
22.10.2018
22:55:48
О нём же речь.

А, ну я немного затупил)

Ну, я бы return type либо оставил пустым, либо написал само название класса.

Google
freecod
23.10.2018
03:04:09
гайз, как в доктрине сделать join подзапроса с агрегацией? Мне нужно получить рейтинг полозователя из отдельной таблицы где [from, to, modifier] - сделать собственно group по to и sum(modifier). Гугл выдает какую-то фигню для использования в where

Dmitriy
23.10.2018
03:06:00
А как выглядит твой запрос на чистом SQL?

Вместо подзапроса лучше использовать CTE

freecod
23.10.2018
03:08:04
select name, vote.rating from users left join (select to, sum(modifier) as rating from votes) vote on users.id = vote.to

через вью? я думал уже, но не хочется делать миграцию, сущность итп ради небольшого запроса

Dmitriy
23.10.2018
03:10:23
он у тебя работает на чистой БД?

что-то сомниваюсь

у тебя нет условий аггрегации, и условий выборки в подзапросе

какая БД у тебя вообще?

freecod
23.10.2018
03:11:26
он у тебя работает на чистой БД?
ну да, я набрасывал псевдокод, забыл group by(to)

в подзапросе

постгре

Dmitriy
23.10.2018
03:15:14
В чистом SQL тебе лушче оконные функции использовать

https://habr.com/post/268983/

freecod
23.10.2018
03:17:00
проблема в том, что основной запрос идет через DQL

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