我已经完成了我的第一次"真实"使用Symfony2的web应用程序。到目前为止还没有单元测试 - 因为项目增长非常快 - 我需要添加它们以在每次发布之前检查错误。 (目前我手动测试一切)
当我第一次使用" phpunit -c app /"我得到这个弃用消息:
其余弃用通知(37)
的Symfony \元器件\ DependencyInjection \定义:: setFactoryMethod(createNamed) 自2.6版以来不推荐使用,将在3.0中删除。使用 定义:: setFactory()代替:4x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的4x
的Symfony \元器件\ DependencyInjection \定义:: setFactoryService(form.factory) 自2.6版以来不推荐使用,将在3.0中删除。使用 定义:: setFactory()代替:4x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的4x
"模式"文件中的选项 " /var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/config/routing/security.xml" 自2.2版以来已弃用,将在3.0中删除。使用 "路径"相反,路线定义中的选项:3x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的3x
Twig Function" form_enctype"已弃用。使用" form_start"代替 在FOSUserBundle中:配置文件:edit_content.html.twig第1行:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
使用" Twig_Function_Method"的实例功能 " vich_uploader_asset"从版本1.21开始不推荐使用。使用 相反,Twig_SimpleFunction:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
从版本1.12开始,不推荐使用Twig_Function类 在2.0中删除。请改用Twig_SimpleFunction:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"范围"服务属性 " fos_user.resetting.form.handler.default"在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ resetting.xml" 自2.8版以来不推荐使用,将在3.0:1x中删除 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
从版本1.12开始,不推荐使用Twig_Function_Method类 将在2.0中删除。请改用Twig_SimpleFunction:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
Twig Function" form_enctype"已弃用。使用" form_start"代替 在FOSUserBundle中:组:new_content.html.twig在第1行:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
Twig Function" form_enctype"已弃用。使用" form_start"代替 在FOSUserBundle:Group:edit_content.html.twig第1行:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
Twig Function" form_enctype"已弃用。使用" form_start"代替 在FOSUserBundle中:注册:register_content.html.twig在第1行:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
Twig Function" form_enctype"已弃用。使用" form_start"代替 在FOSUserBundle中:ChangePassword:changePassword_content.html.twig at 第1行:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
" _方法"路线要求" fos_user_security_check"在文件中 " /var/www/myproject/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Resources/config/routing/security.xml" 自2.2版以来已弃用,将在3.0中删除。使用 "方法"属性改为:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
Twig Function" form_enctype"已弃用。使用" form_start"代替 在FOSUserBundle中:重置:reset_content.html.twig在第1行:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂服务"服务属性" fos_user.resetting.form" 在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ resetting.xml" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"范围"服务属性 " fos_user.change_password.form.handler.default"在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ change_password.xml" 自2.8版以来不推荐使用,将在3.0:1x中删除 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂方法"服务属性" fos_user.profile.form"在 文件 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ profile.xml配置" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂服务"服务属性" fos_user.profile.form"在 文件 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ profile.xml配置" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
的Symfony \元器件\ DependencyInjection \定义:: setFactoryService(学说) 自2.6版以来不推荐使用,将在3.0中删除。使用 定义:: setFactory()代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂服务"服务属性" fos_user.entity_manager" 在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ orm.xml中" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
的Symfony \元器件\ DependencyInjection \定义:: setFactoryMethod(getManager) 自2.6版以来不推荐使用,将在3.0中删除。使用 定义:: setFactory()代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"范围"服务属性 " fos_user.profile.form.handler.default"在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ profile.xml配置" 自2.8版以来不推荐使用,将在3.0:1x中删除 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂方法"服务属性" fos_user.registration.form" 在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ registration.xml" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂服务"服务属性 " fos_user.change_password.form"在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ change_password.xml" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂方法"服务属性" fos_user.entity_manager"在 文件 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ orm.xml中" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂方法"服务属性 " fos_user.change_password.form"在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ change_password.xml" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"范围"服务属性 " fos_user.registration.form.handler.default"在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ registration.xml" 自2.8版以来不推荐使用,将在3.0:1x中删除 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂服务"服务属性 " fos_user.registration.form"在文件中 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ registration.xml" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
"工厂方法"服务属性" fos_user.resetting.form"在 文件 " /无功/网络/ myproject的/供应商/ friendsofsymfony /用户束/ FOS / UserBundle / DependencyInjection /../资源/配置/ resetting.xml" 自2.6版以来不推荐使用,将在3.0中删除。使用 "工厂"元素代替:1x 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的1x
第一次(缓存获得构建)之后,只剩下这个:
剩余弃用通知(320)
班级" Symfony \ Bundle \ AsseticBundle \ Config \ AsseticResource"是 通过ResourceInterface :: isFresh()执行资源检查, 自2.8以来已弃用,将在3.0:320x中删除 来自MyNamespace \ XYZBundle \ Tests \ Controller的myControllerTest :: testMyAction中的320x
我搜索了如何抑制已弃用的警告,因为它们来自依赖项,而不是来自我的代码。我找到了这个解决方案:
<php>
<ini name="error_reporting" value="-16385" />
</php>
所以我把它添加到我的phpunit.xml中,但它没有解决问题。希望你能帮助我!
答案 0 :(得分:5)
这个弃用摘要由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>