@prophp7

Страница 634 из 1387
Sergey
22.09.2017
08:49:36
хотя сомневаюсь что у тебя выйдет юнит тесты в принципе писать

ну или ты войдешь в цикл "рефакторить что бы покрыть тестами -> покрывать тестами что бы рефакторить"

а в него лучше входить имея приемочные тесты

Борис
22.09.2017
08:58:03
один eav это стильно молодежно делаем так ведь magento так делает (да и не только магенту)
Я гляжу тебя все не отпускает... хотя ты даже не читаешь ответы - а просто кидаешь на вентилятор. Но да я не гордый, я повторю. EAV решает свою конкретную задачу и делает это не плохо. Магента и другие примеры, я тебе скинул для примера. Так же как ты скинул презентацию. Я лишь говорю, что не стоит пренебрегать EAV если задача сделать на SQL и сделать пиздец динамические типы продукты. Вариант с разреженой таблицей, для пиздец динамических типов продуктов говно - потому что каждый раз нужно выполнять alter table при этом еще думать, что в основную таблицу сунуть, а что в дополнительную. Это должен делать программер. С EAV ты можешь посадить monkey за админку, который будет тебе это вбивать. Вот прежде чем накинуть на вентилятор, перечитай еще раз, чтобы убедится что я только что НЕ говорил "EAV наше все, и только еав потому что так делают другие". Я лишь привел пример того, что это может прекрасно работать и решать свою задачу. Каждый сам решит, стоит ли использовать EAV и для какой задачи. Впрочем, до сюда ты уже не дочитаешь....

Google
Борис
22.09.2017
09:04:03
дай причину
Тоже стало интересна, какая такая причина, что время на запихнуть везде assert есть, а времени на php7 нету... хм я придумал только одну. Заказчик. Заказчик который говорит "у меня слабость к PHP5 и ни за какие деньги я не отдам свой проект на PHP7" ГЫГЫГЫ

$iD
22.09.2017
09:05:26
мб у него проект на старом codeigniter/cakephp

т.е. сам фрэймворк придётся обновлять и это потянет за собой изменения в коде

но это гадание

Dmitriy
22.09.2017
09:09:30
или админ артачится

или все вместе

Herman
22.09.2017
09:11:36
ну,всё это ниже. про рефакторинг и покрытие тестами т.д. я планирую писать спецификацию, по ней код, а потом покрывать тестами. это BDD вроде называется я пока окончательно не определился как это всё будет выглядеть, но каким боком тут рефакторинг и покрытие тестами я совсем не понимаю

т.е. тестами ведь покрывается уже рабочий код

и не трогается, по-нормальному. а если трогается, то и тесты для него переписываются

Антон
22.09.2017
09:14:02
писать юнит тесты не так просто как кажется, те которые можно будет поддерживать

Dmitriy
22.09.2017
09:14:20
наивный )

подозреваю что там бл в контроллерах

Google
Антон
22.09.2017
09:14:59
вот и предлагают написать приемочные тесты, которые бизнес процессы будут тестировать. оформение заказа, покупку товара

Dmitriy
22.09.2017
09:15:00
посмотрим как ты юниты на это напишешь )

Антон
22.09.2017
09:15:16
а потом уже реффакторить

Herman
22.09.2017
09:15:58
а что там сложно? через phpunit всё делается вход сравнивается с выходом на диапазоне значений

Антон
22.09.2017
09:16:11
?

Herman
22.09.2017
09:16:22
я сильно не углублялся, ибо в данный момент typescript'ом занимаюсь. но примерно так я щас это вижу

Антон
22.09.2017
09:17:06
технически писать не сложно, но это только 10%

Herman
22.09.2017
09:18:49
да, думаю надо будет еще приемочные тесты изучить... я, на самом деле, в этом полный нуб пока что

может стоит начать с приемочных тестов?
для юнит тестов phpunit, для приёмочных и функциональных codeception -- это хороший выбор?

Herman
22.09.2017
09:34:16
ого, я думал phpunit только в юнит-тесты может

Антон
22.09.2017
09:35:12
в codeception примерно также как в behat acceptance тесты

Herman
22.09.2017
09:37:24
в codeception примерно также как в behat acceptance тесты
а codeception для юнит-тестов можно юзать? просто так много фреймворков, поэтому прошу совета что выбрать. достаточно ли будет одного какого-то фреймворка для всех этих видов тестов(и если да, то какого), или надо будет несколько использовать?

Антон
22.09.2017
09:37:57
ты бы погуглил на эту тему, ведь там все расписано

http://codeception.com/ на главной странице роликом покрути

Sergey
22.09.2017
09:38:43
ого, я думал phpunit только в юнит-тесты может
потому что у него юнит в названии?)

ну на самом деле фэйл в том что нет четкого определения что такое "юнит тесты". Я использую термин "изолированные тесты", это которые запускаются без зависимостей и все мокается/стабается.

что бы если тест упал - ты очень быстро понимал почему и где сломалось

а не как в случае приемочных тестов - оно то упало но есть сотня причин почему

Google
Sergey
22.09.2017
09:40:30
а codeception для юнит-тестов можно юзать? просто так много фреймворков, поэтому прошу совета что выбрать. достаточно ли будет одного какого-то фреймворка для всех этих видов тестов(и если да, то какого), или надо будет несколько использовать?
а ты точно хочешь юнит тесты (изолированные)? ты уверен что ты будешь их писать? ты уверен что ты умеешь их писать? Ты уверен что у тебя код тестируем? ты понимаешь что юнит тесты не про "тесты" а про дизайн кода?

Evgeniy
22.09.2017
09:41:07
суть моей мысли в том что люди слишком запутались в том как классифицировать тесты unit, function, acceptance, и тд

вместо того чтобы юзать автотесты как автотесты, а юнит тесты это способ написание АВТОТЕСТОВ в полностью подконтрольном тебе окружение

Sergey
22.09.2017
09:42:40
может быть вместо того что бы повторять слово "автотесты" 3 раза в одном предложении сконцентрироваться на целях?

Типа более полезные размышления вроде testing vs checking

и тогда все будет проще

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

и требуемый уровень изоляции этих тестов

и все такое

@her_ism https://gist.github.com/fesor/db60b4995880925b720be9c7cf75543f

Evgeniy
22.09.2017
09:45:09
testing и checking это правильно

Дмитрий Maestro
22.09.2017
09:45:11
ребят

Evgeniy
22.09.2017
09:45:12
ты кидал статью

Дмитрий Maestro
22.09.2017
09:45:23
импортирую таблицу в бд и получаю вот такое

#1215 - Невозможно добавить ограничения внешнего ключа

Sergey
22.09.2017
09:45:24
testing и checking это правильно
что именно правильно?)))

Дмитрий Maestro
22.09.2017
09:45:27
как обойти ?

Google
Sergey
22.09.2017
09:45:31
ты просто привел оба слова, где тут правильно?)

Evgeniy
22.09.2017
09:45:37
что именно правильно?)))
ты статью кидал на эту тему

что надо разделять

Sergey
22.09.2017
09:45:47
да и как любит говорить @mkusher "правильно" и "не правильно" не инженерные понятия

Evgeniy
22.09.2017
09:45:47
тесты и проверки

Sergey
22.09.2017
09:46:01
что надо разделять
а зачем надо разделять?

Evgeniy
22.09.2017
09:46:09
еще раз

Sergey
22.09.2017
09:46:11
и какие выводы из этого разделения мы можем сделать?

к чему нам больше стоит стремиться - к testing или к checking?

Evgeniy
22.09.2017
09:46:32
авто тест это инструмент чтобы повторять действия которые проверяют что работает твое приложение (код, сайт, библиотека)

это инструмент

Evgeniy
22.09.2017
09:47:00
когда ты эти действия начинаешь делить на виды уже странно

Sergey
22.09.2017
09:47:09
приемочные тесты построенные на базе каких-нибудь критерий приемки вроде gherkin - это тоже больше чем тесты

Evgeniy
22.09.2017
09:47:10
типо в этом виде я контролирую окружение тут нет

тут тестирую все целиком

существуют критерии что приложение работает

Evgeniy
22.09.2017
09:47:46
и существует проверка этих критериев которая сделана в виде тестов

какой то критерий надо проверять на полностью поднятом приложение

Google
Sergey
22.09.2017
09:48:04
существуют критерии что приложение работает
и существует комбинаторная проблема того что ты не сможешь все кейсы описать если будешь это делать без разделения

Evgeniy
22.09.2017
09:48:06
какой то критерий можно изолированно проверить

Sergey
22.09.2017
09:48:16
короч

Evgeniy
22.09.2017
09:48:21
кто то пишет не огромное приложение а небольшую библиотеку

Sergey
22.09.2017
09:48:22
останови поток сознания

он не несет ничего полезного в данной дискуссии(

Herman
22.09.2017
09:48:44
а ты точно хочешь юнит тесты (изолированные)? ты уверен что ты будешь их писать? ты уверен что ты умеешь их писать? Ты уверен что у тебя код тестируем? ты понимаешь что юнит тесты не про "тесты" а про дизайн кода?
когда я выбирал IDE, я не умел её использовать. когда я выбирал язык программирования, я также не умел программировать на нём. понимаешь о чём я?

Evgeniy
22.09.2017
09:48:47
это не поток сознания

это ты называешь потоком сознания

Herman
22.09.2017
09:49:44
я хочу сначала понять что для чего юзать. субъективно, конечно, ну а как иначе

спасибо, почитаю

но там вряд ли будет ответ)

Sergey
22.09.2017
09:50:16
я хочу сначала понять что для чего юзать. субъективно, конечно, ну а как иначе
неправильно - сначала цели/идеи а потом инструменты. А так твое представление об этих целях и идеях будет сильно искажено

Evgeniy
22.09.2017
09:50:37
когда не знаешь что такое сайд эффект ты их делаешь и юнит тестах их потом сложно контролить

ты понимаешь что код неудобно тестить

Sergey
22.09.2017
09:50:52
не пугай людей

Борис
22.09.2017
09:51:21
#1215 - Невозможно добавить ограничения внешнего ключа
Читай что такое foreign keys. Тема не маленькая, и простого ответа на твой вопрос нету. Возможно тебе нужно правильный вариант контроля целостности, возможно тебе вообще ключи не нужны. Конкретно эта ошибка говорит что ты пытаешься сослаться на id другой таблицы, хотя в этой другой таблицы сущности с этим id пока что нет. Нужно сначала добавить эту самую связываемую сущность, а затем уже основную.

Sergey
22.09.2017
09:51:24
в моей заметке вопрос сайд эффектов это "второй уровень тестов"

то есть легко

Страница 634 из 1387