
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

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
тестишь интеграцию нескольких модлей друг с другом, а юниты это атомарные тесты болтиков и шестеренок

Sergey
21.10.2018
21:24:51

Антон
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

Boris
22.10.2018
06:34:42

Andrey
22.10.2018
06:35:07

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
та же фигня
галки сняты по дефолту, я не парюсь

Boris
22.10.2018
10:20:00
18.2.5 добавляет из /vendor/* в vcs только те которые идут симлинками.

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

Icewild
22.10.2018
13:01:27

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

Konstantin
22.10.2018
13:08:51

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 с пхпдоком, второй без)

Эмин
22.10.2018
14:20:32

Jan
22.10.2018
22:15:58

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

Sergey
22.10.2018
22:50:48

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
в подзапросе
постгре

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

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