Илья
Если что - потом отпишусь
Artem
Везде инфа из разряда: а сегодня ремонтируем ядерный реактор! Достали стержень который нагрелся? Отлично, готово! Всё
Если коротко. Есть у тебя сервисы. Грубо говоря функции с входными даными и результат на выходе. Вот ты емулируешь входные даные и проверяешь совпадает ли резутат с тем что ты ожидаешь.
Andrey
https://phpunit.readthedocs.io/en/latest/
Serhio
https://phpunit.readthedocs.io/en/latest/
Andrey
оп опа
Andrey
я первый!
Serhio
блин, опередеил)
Serhio
не спорю))
Andrey
https://phpunit.readthedocs.io/en/latest/
После этого отпадет вопрос как
Anton
А как правильные пацаны с локали идут в продакт? Копируют всю папку целиком или все таки composer install делают на готовом?
Илья
Если коротко. Есть у тебя сервисы. Грубо говоря функции с входными даными и результат на выходе. Вот ты емулируешь входные даные и проверяешь совпадает ли резутат с тем что ты ожидаешь.
Принцип как раз понятен, сама реализация не совсем понятно. +ко всему ещё проект не маленький. Щас по ссылкам которые кинули буду лазить
Artem
А как правильные пацаны с локали идут в продакт? Копируют всю папку целиком или все таки composer install делают на готовом?
А у тебя прям все совпадает? Настройки, ключи, версии? А как потом изменения протаскивать? Ты же сам знаешь ответ
Anton
А у тебя прям все совпадает? Настройки, ключи, версии? А как потом изменения протаскивать? Ты же сам знаешь ответ
Я еще совсем юн в таких делах:) Понимаю, что env нужно руками новый создавать. А вот папка vendor для меня пока темный лес:)
Anton
То есть composer install
Илья
https://laravel.com/docs/5.6/testing
Честно - ни о чём. Чисто общая информация
Andrey
Честно - ни о чём. Чисто общая информация
Твой вопрос - ни о чём, вот что я тебе скажу
Сергей
Сергей, [15 марта 2018 г., 14:56:57]: Подскажите как это можно упростить? $section = Section::where([ ['level_id', '=', Section::find($id)->get()->level_id] ])->get(); Нужно вывести все сущности с таким же level_id как и у модели id которой пришло в метод
Илья
Ок, возможно. Только-только начал изучать всё это. 1 момент
Elion
подскажите, как в форму добавления вернуть заполненные значения, если возвращаю с ошибкой в контроллере через return back()->withErrors()?
Artem
Я еще совсем юн в таких делах:) Понимаю, что env нужно руками новый создавать. А вот папка vendor для меня пока темный лес:)
Вот как есть на гитхабе ларавел, так и должен ты держать это все на гите. Все остальное разворачивается на каждом окружении отдельно. Если же все бросать вместе - задолбаешься потом
Илья
1. Какие именно файлы (где находятся) нужно тестировать? Модели?
Илья
2. Как по карте покрытия понять, где именно не хватает тестов (т.е. к какому файлу присутствуют не все тесты)?
Andrey
Погоди-погоди
Serhio
все методы которые ты написал ты должен протестировать
Andrey
а зачем тебе тесты?
Serhio
точнее покрыть тестами :)
Serhio
я образно
invariance
тесты не нужны
invariance
я програмист
Dmitry
1. Какие именно файлы (где находятся) нужно тестировать? Модели?
тестируй то что важно. Если где то хочешь написать dd или print_r. Вместо этого напиши тест ;)
Илья
Илья, зачем Вам тесты?
Чтобы проверить все ли компоненты программы работают исправно. Писал классы, методы и вообще всю программу не я, имеющиеся тесты - тоже
Илья
То ли я так плохо объясняю, то ли вы почти все стебаетесь...
Andrey
Может быть ты не знаешь структуру laravel?
Илья
Мне нужно понять, что ещё НЕ протестировано и дописать тесты на это
Илья
А я месяц назад только debian на виртуалку воткнул и недели 2 назад только закончил настраивать всё окружение.
Andrey
Ну, смотри
Andrey
https://phpunit.readthedocs.io/en/latest/code-coverage-analysis.html
Andrey
Вот раздел про то как понять что у тебя покрыто тестами
Andrey
Но кажется, проблема в том, что ты не совсем понимаешь что такое тесты
Anonymous
какие могут быть причины, что файл не сохраняется? use Illuminate\Support\Facades\Storage; подключил, файл загружаю, сохраняю - даже папка uploads не создается)
Andrey
А я месяц назад только debian на виртуалку воткнул и недели 2 назад только закончил настраивать всё окружение.
Скажи, тебя только что наняли, приковали наручниками к батарее и заставляют писать тесты?))
Andrey
Тогда понятно почему исполнитель перед тобой сбежал)
Илья
И это тоже имеет место быть. В моём понимании тесты - использование имеющегося функционала с тестовыми данными
Andrey
И это тоже имеет место быть. В моём понимании тесты - использование имеющегося функционала с тестовыми данными
Почти так. Я бы сказал, что тесты - это проверка формальной логики функции. Из этого следует 3 вывода: 1. У функции должны быть определены входные данные. 2. У функции должны быть определены выходные данные. 3. Должна быть определены исключения, если такие есть.
Илья
Ок, спасибо, понимания стало немного больше
Andrey
И все три пункта ты проверяешь в тесте. 1. Подаешь на вход валидные и не валидные данные. 2. Проверяешь что на выходе 3. Проверяешь исключительные ситуации
Andrey
code coverage также подразумевает, что ты проверяешь все ветвления логики в определенной функции
Andrey
Это то, что касается unit тестирования
Andrey
Есть еще, всякие
Andrey
https://habrahabr.ru/post/81226/
Andrey
https://habrahabr.ru/post/169381/
Валерий
на ларакасте неплохой курс по тестированию есть,может полезно будет
Илья
👍Благодарю
Ахмедов
Нужныйли это пакет? просто изза него много ошибок выходит... Хочу удалить отсуда и из папки вендор не будут проблемы в дальнейшем?
Arthur'); DROP TABLE Users;--
#@!#@
Arthur'); DROP TABLE Users;--
я просто не понимаю, что сломалось то. несколько часов просидел, тыкая по разному
Arthur'); DROP TABLE Users;--
брал даже с документации firstName акцессор стандартный, не работает
Artem
Не пробовал сделать отдельной функцией, а не мутатором? Ты уверен, что можно предавать тип туда?
Arthur'); DROP TABLE Users;--
Arthur'); DROP TABLE Users;--
хотя... надо поразбираться еще. всё до сих пор запутанно
Arthur'); DROP TABLE Users;--
Artem
хотя... надо поразбираться еще. всё до сих пор запутанно
Как я понимаю в геттер мутатора ты не можешь передавать параметры, ты же вызываешь его как $object->value если ты пишешь getValueAttribute($some) то в переменной some значение поля value с базы даных
Arthur'); DROP TABLE Users;--
хотя да, не могу передовать, и скобочки убрал
Arthur'); DROP TABLE Users;--
затупил
Дмитрий
Нужен специалист, который поможет с php yii framework
Anonymous
я уже поднадоел своими тупыми вопросами наверное ><, но больше не к кому обратиться написал три функции для модели Users: /** * Get a user avatar. */ public function avatar() { return $this->avatar ? '/uploads/avatars/' . $this->avatar : '/images/bluemix/def_avatar.gif'; } /** * Remove a user avatar. */ public function removeAvatar() { if ($this->avatar) { Storage::delete('uploads/avatars/' . $this->avatar); } } /** * Upload a user avatar. */ public function uploadAvatar($image) { if ($image == null) { return; } $this->removeAvatar(); $filename = str_random(10) . '.' . $image->extension(); $image->storeAs('uploads/avatars', $filename); $this->avatar = $filename; $this->save(); } но аватарка не сохраняется, даже папка uploads/avatars не создается может я неверно сохраняю? подскажите плиз :с
Anonymous
а где тогда?
Anonymous
мне надо в контроллере обращаться к объекту user
Anonymous
к функции uploadAvatar или чтобы получить аватар пользователя
Anonymous
по моему как раз в модели место)
Arthur'); DROP TABLE Users;--
@mykaido https://pastebin.com/YBHMpXQr мой рабочий код
Миша
->with('positions.sticker', function($query) { $query->whereNotNull('sticker.options'); })