Я закончил свое первое «настоящее» веб-приложение с использованием Symfony2. До сих пор нет модульных тестов — так как проект развивается очень быстро — мне нужно добавить их, чтобы проверять ошибки перед каждым выпуском. (Сейчас все проверяю вручную)
Когда я впервые использую «phpunit -c app /», я получаю следующие сообщения об устаревании:
Остальные уведомления об устаревании (37)
Symfony \ Component \ внедрение зависимости \ Определение :: setFactoryMethod (createNamed)
устарела с версии 2.6 и будет удалена в 3.0. использование
Definition :: setFactory () вместо: 4x
4x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerSymfony \ Component \ внедрение зависимости \ Определение :: setFactoryService (form.factory)
устарела с версии 2.6 и будет удалена в 3.0. использование
Definition :: setFactory () вместо: 4x
4x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerОпция «шаблон» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/config/routing/security.xml» устарела с версии 2.2 и будет удалена в 3.0. Использовать
опция «путь» в определении маршрута: 3x
3 раза в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerФункция ветки «form_enctype» устарела. Вместо этого используйте «form_start»
в FOSUserBundle: Профиль: edit_content.html.twig в строке 1: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerИспользование экземпляра Twig_Function_Method для функции
«vich_uploader_asset» устарела с версии 1.21. использование
Twig_SimpleFunction вместо: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerКласс Twig_Function устарел с версии 1.12 и будет
снято в 2.0. Вместо этого используйте Twig_SimpleFunction: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «объем» службы
«fos_user.resetting.form.handler.default» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/resetting.xml»is устарела с версии 2.8 и будет удалена в 3.0: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerКласс Twig_Function_Method устарел с версии 1.12 и
будет удален в 2.0. Вместо этого используйте Twig_SimpleFunction: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerФункция ветки «form_enctype» устарела. Вместо этого используйте «form_start»
в FOSUserBundle: Группа: new_content.html.twig в строке 1: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerФункция ветки «form_enctype» устарела. Вместо этого используйте «form_start»
в FOSUserBundle: Группа: edit_content.html.twig в строке 1: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerФункция ветки «form_enctype» устарела. Вместо этого используйте «form_start»
в FOSUserBundle: Регистрация: register_content.html.twig в строке 1: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerФункция ветки «form_enctype» устарела. Вместо этого используйте «form_start»
в FOSUserBundle: ChangePassword: changePassword_content.html.twig в
строка 1: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerТребование «_method» для маршрута «fos_user_security_check» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/config/routing/security.xml» устарела с версии 2.2 и будет удалена в 3.0. Использовать
Атрибут «методы» вместо: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerФункция ветки «form_enctype» устарела. Вместо этого используйте «form_start»
в FOSUserBundle: Сброс: reset_content.html.twig в строке 1: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «factory-service» службы «fos_user.resetting.form» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/resetting.xml»is устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «объем» службы
«fos_user.change_password.form.handler.default» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/change_password.xml» устарела с версии 2.8 и будет удалена в 3.0: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «factory-method» службы «fos_user.profile.form» в
файл
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/profile.xml»is устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «factory-service» службы «fos_user.profile.form» в
файл
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/profile.xml»is устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerSymfony \ Component \ внедрение зависимости \ Определение :: setFactoryService (доктрина)
устарела с версии 2.6 и будет удалена в 3.0. использование
Definition :: setFactory () вместо: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «factory-service» службы «fos_user.entity_manager» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/orm.xml» устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerSymfony \ Component \ внедрение зависимости \ Определение :: setFactoryMethod (getManager)
устарела с версии 2.6 и будет удалена в 3.0. использование
Definition :: setFactory () вместо: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «объем» службы
«fos_user.profile.form.handler.default» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/profile.xml»is устарела с версии 2.8 и будет удалена в 3.0: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «factory-method» службы «fos_user.registration.form» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/registration.xml»is устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут сервиса «Фабрика-Сервис»
«fos_user.change_password.form» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/change_password.xml» устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «factory-method» службы «fos_user.entity_manager» в
файл
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/orm.xml» устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут сервиса фабричного метода
«fos_user.change_password.form» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/change_password.xml» устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «объем» службы
«fos_user.registration.form.handler.default» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/registration.xml»is устарела с версии 2.8 и будет удалена в 3.0: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут сервиса «Фабрика-Сервис»
«fos_user.registration.form» в файле
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/registration.xml»is устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ ControllerАтрибут «factory-method» службы «fos_user.resetting.form» в
файл
«/var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/DependencyInjection/../Resources/config/resetting.xml»is устарела с версии 2.6 и будет удалена в 3.0. Использовать
вместо элемента «фабрика»: 1x
1x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ Controller
После первого раза (кеш получил сборку) остается только это:
Оставшиеся уведомления об устаревании (320)
Класс «Symfony \ Bundle \ AsseticBundle \ Config \ AsseticResource» является
выполнение проверки ресурса через ResourceInterface :: isFresh (),
который устарел с 2.8 и будет удален в 3.0: 320x
320x в myControllerTest :: testMyAction из MyNamespace \ XYZBundle \ Tests \ Controller
Я искал, как подавить устаревшие предупреждения, поскольку они исходят из зависимостей, а не из моего кода. Я нашел это решение:
<php>
<ini name="error_reporting" value="-16385" />
</php>
Поэтому я добавил это в свой phpunit.xml, но это не решает проблему. Надеюсь, вы можете помочь мне с этим!
Эта сводка устаревших сообщений показана с помощью моста Symfony PHPunit. У него есть помощник по устареванию, который хранит все уведомления об устаревании, которые были запущены, и показывает их после выполнения всех тестов.
Помощник по устареванию может быть настроен с помощью SYMFONY_DEPRECATIONS_HELPER
переменная env. Это может иметь несколько разных значений:
weak
— указывает, что текущие уведомления об устаревании вызваны сторонними библиотеками. Теперь будет только показывать Remaining deprecation notices (320)
и тестовый скрипт вернется 0
(Успех).SYMFONY_DEPRECATIONS_HELPER
в 320
сборка будет проходить до тех пор, пока количество уведомлений не превысит 320. Это очень полезно, так как предупредит вас, как только вы введете новые устаревшие версии.Задать переменную env можно в командной строке:
# unix
$ SYMFONY_DEPRECATIONS_HELPER=320 phpunit -c app
# windows
> set SYMFONY_DEPRECATIONS_HELPER=320
> phpunit -c app
Или в phpunit.xml(.dist)
файл:
<php>
<env name="SYMFONY_DEPRECATIONS_HELPER" value="320"/>
</php>
Других решений пока нет …