使用security.encoder_factory加载测试中的加速symfony2 fixtures

时间:2015-06-13 19:42:26

标签: symfony testing fosuserbundle fixtures

我在灯具中创建了很多用户(使用FOSUserBundle用户管理器)并在设置测试时加载它们。 updatePassword()方法需要花费大量时间来执行,因为它为每个用户计算哈希(非常昂贵的操作)。我怎样才能加速呢?

1 个答案:

答案 0 :(得分:0)

我在自己的项目中所做的是将测试环境的密码编码器更改为比bcrypt更快的计算速度。

测试套件实际上并不需要使用bcrypt提供的安全性来存储密码(测试数据库仅存在于开发人员计算机或travis上,并且它无论如何都会定期使用弱密码,并在测试中明确写入)。 /> 如果您创建了大量用户,使用更简单的编码器可以使测试运行更快。

但是,仅在config_test.yml文件中进行此类配置更改非常重要。真实环境必须使用安全的密码编码器。