我有一个基于按FOSOAuthServerBundle
记录用户的应用程序,我想在此应用程序中测试操作。
所以。。。在 Sf2 中是用于测试环境的特殊配置文件,config_test.yml
我把这段代码放了:
security:
firewalls:
default:
anonymous: ~
从理论上讲,它应该可以解决我的问题,因为此防火墙允许任何人访问任何操作。我已经把它放在config_test.yml
,所以它应该只有在我测试应用程序时才有效。很好的解决方案,我在想。
但是 Sf 抛出了这个错误:
不允许为路径"security.firewalls"定义新元素。请在一个配置文件中定义此路径的所有元素。
我的问题是:如何允许访问操作而不记录 通过 PHPUnit 测试应用程序?
您无法添加/定义新元素,但可以修改它们。
在config_test.yml
中,默认防火墙使用security.yml
中使用的真实防火墙的名称。
更好的是使用http_basic: ~
而不是anonymous: ~
这样您的测试就可以像真正的经过身份验证的用户一样运行。
不错的食谱:http://symfony.com/doc/2.8/cookbook/testing/http_authentication.html