
Andrey
12.04.2017
23:53:39
При структурированном подходе это чище и проще в поддержкЕ

Aleh
12.04.2017
23:55:41
но если у вас работает, то хорошо

Andrey
12.04.2017
23:56:22
Сменили замки, не пытаться ломиться со старым ключом

Google

Aleh
12.04.2017
23:56:38
а как вы узнаете, что замки сменились?
и кто вообще ломиться со старым ключом?
как вообще выглядит процесс замены замков?

Andrey
12.04.2017
23:57:08
Проверка контракта на основе предыдущих сессий обмена

Aleh
12.04.2017
23:58:12
можно с каким-то реальным примером
а то опять фраза, которая для меня почти ничего не значит(

Andrey
12.04.2017
23:59:34
При попытке вставить ключ в замочную скважину проверить визуально, что дверь и замок все те же

Aleh
12.04.2017
23:59:44
когда и кто это делает?

Andrey
13.04.2017
00:00:12
Система в момент взаимодействия с третьей стороной

Aleh
13.04.2017
00:00:37
как вы проверяете перед отправкой запроса, что база поддерживает sql по спецификации?
что в ней нужная схема нужной версии

Andrey
13.04.2017
00:01:14
Версия бд например и номер последней ревизии в миграциях

Aleh
13.04.2017
00:02:04
каждый раз перед запросом это проверяется?

Google

Andrey
13.04.2017
00:02:15
При деплое

Aleh
13.04.2017
00:02:55
и я все равно не понимаю, как это вам поможет в ошибке в sql
в вашем репозитории

Andrey
13.04.2017
00:03:20
У тебя есть велосипедный звонок

Aleh
13.04.2017
00:03:30
для того, чтобы проверить контракт вам нужно в тестах сделать тест дабл sql-движка

Andrey
13.04.2017
00:03:50
У него функция звонить при каждом взаимодействии с рычажком

Aleh
13.04.2017
00:03:51
а звонка нет

Andrey
13.04.2017
00:05:04
Ты будешь тестировать что каждый раз звук издается при ударе молоточка об звонок или оно так должно быть?

Aleh
13.04.2017
00:05:30
нет, я не занимаюсь велосипедными звонками

Andrey
13.04.2017
00:05:34
Тесты должны тестировать поведение твоих объектов
А не инфраструктуры

Aleh
13.04.2017
00:05:53
который работает с базой
и мне важно проверить его контракт

Andrey
13.04.2017
00:06:11
Репозиторий тобой написан?

Aleh
13.04.2017
00:06:15
да

Andrey
13.04.2017
00:06:25
Ты его тестами покрыл?

Aleh
13.04.2017
00:06:34
так вот именно этим и занят
покрываю репозиторий

Google

Aleh
13.04.2017
00:06:41
который ходит в базу

Andrey
13.04.2017
00:06:56
Ну тогда тестируй все подряд
Сетку потестируй
Сигнал до днс сервера
Уровень вайфая у соседей
Это же важно

Aleh
13.04.2017
00:07:38
ну если ты так говоришь
то ладно

Andrey
13.04.2017
00:08:02
Базу уже за тебя потестировали

Aleh
13.04.2017
00:08:08
я и не тестирую базу

Andrey
13.04.2017
00:08:12
Если ты говоришь базе сохранить
Она сохраняет

Aleh
13.04.2017
00:08:25
круто, буду знать

Andrey
13.04.2017
00:08:25
Вариантов не сохранить нет
Репозиторий отдает команду сохранить
Нужно проверить что команда отработала
Можно лезть в бд
А можно предположить что сохранить в бд работает и надо только проверить что это сохранить вызывается

Aleh
13.04.2017
00:12:13
работая с базой одного и того же результата достичь можно очень по-разному, поэтому мне неинтересно тестировать что я подергал у базы, я не хочу привязываться к реализации, хотя бы потому, что я заранее не знаю, как это реализовать. А вот с методом вход-выход легко, я знаю что там может быть и что должно быть на выходе. При этом далее реализацию я могу менять при рефакторинге или оптимизацие и не трогать тест
все дело в том, что описать контракт в данном случае удобный для тестов почти нереально

Google

Aleh
13.04.2017
00:12:37
а если реально, то наверное не нужно

Andrey
13.04.2017
00:12:44
Ну хорошо, я тебе верю
Это бред
Никто так не делает
Это чушь и вилами на воде писано
И тестируй бд чаще, оно ускоряет тесты
Всем же известно, что медленные тесты чаще всего запускают

Aleh
13.04.2017
00:15:02

Andrey
13.04.2017
00:16:36
Почитай на досуге про иронию и сарказм, оно очень сильно поможет в осознании величия пхпюнита и неизменяемых тестов

Admin
ERROR: S client not available

Aleh
13.04.2017
00:17:12
короч репозитории тестировать просто не надо, они сами 100% работают?

Andrey
13.04.2017
00:17:47
А как это связано с тестом бд?
Если ты тестируешь по модели черного ящика, то даже 146% покрытие тестами бд и всего репозитория не даст гарантии от неумного рефакторинга

Aleh
13.04.2017
00:20:27

Andrey
13.04.2017
00:21:44
Если же тестировать поведение репозитория с осознанием того что он делает и как - то тест бд можно пропустить, оставив только проверку поведения

Aleh
13.04.2017
00:22:20
если имеет, то тогда то, что ниже уровнем
а репозиторий остается покрыт юнит-тестом

Andrey
13.04.2017
00:22:53
У репозитория могут быть выборки по фильтру

Aleh
13.04.2017
00:22:53

Google

Andrey
13.04.2017
00:23:51
Которые в другой спеке просто замокаются

Aleh
13.04.2017
00:23:56
я говорю про то, что на границе
не левее или правее
а про границу

Andrey
13.04.2017
00:24:17
На границе севкорейцы
С трампом
А что есть граница?

Aleh
13.04.2017
00:25:51
твой код, который идет во внешку
через уже не твой код

Andrey
13.04.2017
00:26:06
Репозиторий во внешку?
Эт чет сильное

Aleh
13.04.2017
00:26:15
в базу ну

Andrey
13.04.2017
00:26:29
Так уже обсудили же
Тестируем базу, застраховываем репозитории
Репозиторий в симфони максимум может в энтитименеджер зайти
Спросить сигаретку

Aleh
13.04.2017
00:27:36
ладно, мне надоело, удачи

Andrey
13.04.2017
00:28:05
Давай, тестируй базу

Alan
13.04.2017
05:22:28
знатно бомбануло)
аж до утра поливало