Size: a a a

2020 September 01

D

Dmitry in Laravel Pro
Сейчас пытаюсь разобраться с тестированием и пытаюсь понять, как лучше подойти к тестированию этой задачи (best practices).
Если в feature тесте сделать переход по ссылке и скармливание файла, то можно проверять количество импортированных данных и с тестами держать архив с файлом. (?)
А в обычных тестах пытаться разбить основную библиотеку на мелкие методы которые можно тестировать?
источник

D

Dmitry in Laravel Pro
Антон
$tmpFile = tmpfile();

fwrite($tmpFile, $data);
$uploadedFile = new File('file.csv', $tmpFile);

// отправляем запрос с uploadedFile

fclose($tmpFile);
это пойдёт в тест:
a_file_can_be_uploded()

потом как подходить к:
a_file_can_be_extracted()
... если в первом тесте я файл загрузил и закрыл его....

а там же ещё тесты на парсинг и проверку количества спаршенного.

это всё в один тест засовывать? типа:
a_file_can_be_imported_parsed_and_landed_to_database()

или как-то по отдельности куски xml тестировать?
источник

D

Dmitry in Laravel Pro
Огромное СПАСИБО за ответы🙏 Вы лучшие 😊
источник

d.

dev . in Laravel Pro
от меньшего к большому, сначала тестируй разархивацию отдельно, есть некий файл и что-то ждёшь на выходе, тут возможно даже потащить за собой пустой архив болванку повторяющую структуру настоящего архива, в этом тесте надо убедится что распаковка работает, а не сами данные

дальше тест извлечения данных, тут уже можно мокать распаковку, эмулируешь что после распаковки есть какие-то файлы и тестишь поотдельности что файл извлекается верно

ну и если бд тест то там мокаешь все - типа даёшь на вход архив мокаешь что он возвращает такую структуру ..как-то так
источник

D

Dmitry in Laravel Pro
Извините за немного оффтоп, но для меня этот канал более профильный и вопрос скорее к производительности имеет отношение. Когда смотрю на профиль человека в ТГ, вижу, что общих групп только одна. Вы на столько сосредоточены и не подписаны на миллион ТГ каналов? Как это у вас получается?
источник

d.

dev . in Laravel Pro
Dmitry
Извините за немного оффтоп, но для меня этот канал более профильный и вопрос скорее к производительности имеет отношение. Когда смотрю на профиль человека в ТГ, вижу, что общих групп только одна. Вы на столько сосредоточены и не подписаны на миллион ТГ каналов? Как это у вас получается?
каком к верху, для производительности посмотри на генераторы и yield
источник

d.

dev . in Laravel Pro
чтобы в разбор данные поступали порционно
источник

d.

dev . in Laravel Pro
иначе может быть такое что дадут на вход 100500 мб и парсер это все в память затащит и пока отдаст в разбор уже развалится
источник

D

Dmitry in Laravel Pro
@devphp9 Спасибо 🙏 пошёл про yield читать
источник

XM

Xachik Margaryan in Laravel Pro
Доброе Утро всем!!!
источник

XM

Xachik Margaryan in Laravel Pro
Друзья у меня есть relation $user->location
хочу взять locations.id как value a locations.name как label как то можно сделать это через $user->location()->...?
источник

AP

Alexander Pavlenko 🌚... in Laravel Pro
🌚
источник

XM

Xachik Margaryan in Laravel Pro
)))
источник

ДК

Дмитрий Кожанов... in Laravel Pro
Xachik Margaryan
Друзья у меня есть relation $user->location
хочу взять locations.id как value a locations.name как label как то можно сделать это через $user->location()->...?
->pluck(name, Id)
источник

D

DK in Laravel Pro
Xachik Margaryan
Друзья у меня есть relation $user->location
хочу взять locations.id как value a locations.name как label как то можно сделать это через $user->location()->...?
тебе на фронт отдать это надо?
источник

D

DK in Laravel Pro
апи ресурсы
источник

D

DK in Laravel Pro
для quasar фреймворка часто надо было в селекты так скармливать данные
источник

XM

Xachik Margaryan in Laravel Pro
DK
тебе на фронт отдать это надо?
в Cache храню их чтобы патом на фронте взять
источник

XM

Xachik Margaryan in Laravel Pro
name AS label,id AS value . нужно через Алисы как бы
источник

AP

Alexander Pavlenko 🌚... in Laravel Pro
только зачем, какая цель
источник