Some fixtures were not found under path:
/var/www/t.dev/common/fixtures
Check that they have correct namespace "common\fixtures"
1. User
Error: No files were found for: "User".
Check that files exist under fixtures path:
"/var/www/t.dev/common/fixtures".
Ну что за ... ?
Именно в /var/www/t.dev/common/fixtures и лежит User.php (фикстура)
Я если честно, думал, что так работают с данными во время разработки. Чтобы в миграциях только структура была. Просто я пытаюсь разобраться в том как применять миграции и пока не могу понять как оперировать данными в этом контексте. Если их пихать в миграции, будет огромная куча проблем. А если дампы целиком в VCS запихивать то тогда нафига нужны миграции (одновременно и дампы и миграции использовать не вижу возможности)??
Я вот сейчас создал функционал для авторизации через соц. сети, а как мне его тестировать (без применения тестов, просто по-старинке, ведь не везде нужно и можно тесты писать) если нет пользователей? Нужно их добавить, а как? Просто себе в базу добавить пару записей? А тот кто после меня будет этот функционал изменять тоже будет у себя локально генерить данные? Я вот и думал что для этих целей придумали фикстуры (ну естественно и для автоматических тестов тоже).
Если честно запутался и не понимаю workflow работы с миграциями и данными при работе в команде.
Задавал такой вопрос на тостере, там советуют иначе. Говорят, что фикстуры можно не только для автоматических тестов использовать. И это логично по идее. Почему ограничивать себя в применении? Взгляните на тему:
НЕ утверждаю что ВЫ советуете мне что-то не то, просто хотелось бы аргументированного мнения, почему нельзя фикстуры использовать без тестов? Пример про профили в соц. сетях не очевидный. Я не только для этого хочу создать пользователей через фикстуры но и для тестирования (не автоматического) RBAC.
Последний раз редактировалось Nicolai6120 2017.01.30, 14:50, всего редактировалось 1 раз.
Nicolai6120 писал(а): ↑2017.01.30, 14:45
Задавал такой вопрос на тостере, там советуют иначе. Говорят, что фикстуры можно не только для автоматических тестов использовать. И это логично по идее. Почему ограничивать себя в применении?
Там же:
Организация зависит от команды в которой Вы работаете, точнее от договоренностей между ее участниками.
Согласен... Но Вы ведь мне задали вопрос. Зачем загружать фикстуры вручную, я пытаюсь объяснить. чтобы не было необходимости данные вручную создавать. Сгенерировал один раз много много данных через faker и тестируй на них в свое удовольствие. Мне кажется это неплохой вариант (опять же не утверждаю, что вручную нельзя). Так вот, а ответа на свой основной вопрос не получил. Вы не знаете, почему так происходит при загрузке?
И еще, если обратите внимание, в той теме мне советуют роли присваивать через фикстуры, логично же, что если роли через фикстуры, то и пользователей создать нужно через фикстуры, иначе мне кажется не получится, так как у всех будет разброд юзеров а ассоциация через общую для всех фикстуру.
Nicolai6120 писал(а): ↑2017.01.30, 14:54
...чтобы не было необходимости данные вручную создавать. Сгенерировал один раз много много данных через faker и тестируй на них в свое удовольствие.
Ну нагенерируйте себе сотни данных и тестируйте. Закомитьте свои templates, чтобы другие программисты по ним свои наборы создавали. Просто не вижу смысла эти "много много данных" к проекту прикладывать.
Nicolai6120 писал(а): ↑2017.01.30, 14:54
И еще, если обратите внимание, в той теме мне советуют роли присваивать через фикстуры
Мне консольного контроллера хватает с действиями assign и revoke, чтобы любую роль к любому пользователю привязать.
У меня не стоит задача привязать роли. Это хорошо в документации описано.
А если хочу чтобы эти же записи были просто репрезентативными. У меня задача сделать у всех разработчиков пяток записей (общих для всех тестовых юзеров), на которых они продолжат разработку связанных компонентов приложения (профили, рейтинги и так далее) и чтобы заказчик открыл админку и в ней своими ручками потыкал юзеров и роли их. Понятное дело для этого я напишу свой контроллер, но данные то контоллер не занесет мне в базу. Вот я и хочу фикстуру использовать - просто и со вкусом вроде бы.