我在灯具中创建了很多用户(使用FOSUserBundle用户管理器)并在设置测试时加载它们。 updatePassword()
方法需要花费大量时间来执行,因为它为每个用户计算哈希(非常昂贵的操作)。我怎样才能加速呢?
答案 0 :(得分:0)
我在自己的项目中所做的是将测试环境的密码编码器更改为比bcrypt更快的计算速度。
测试套件实际上并不需要使用bcrypt提供的安全性来存储密码(测试数据库仅存在于开发人员计算机或travis上,并且它无论如何都会定期使用弱密码,并在测试中明确写入)。 /> 如果您创建了大量用户,使用更简单的编码器可以使测试运行更快。
但是,仅在config_test.yml
文件中进行此类配置更改非常重要。真实环境必须使用安全的密码编码器。