如何在测试中处理昂贵的fixture / factory_girl对象创建?

时间:2011-12-05 09:51:04

标签: ruby-on-rails rspec factory-bot

对于我们系统中的所有用户,我们生成私钥/公钥对,通常需要一两秒钟。这不是现场网站上的交易破坏者,但它使得运行测试的速度非常慢,并且慢速测试无法运行。

我们的设置是带有factory_girl和rspec的Rails 3.1。

我尝试使用一种返回随机方法的方法提前创建(10左右),但这似乎有问题:可能它们已被清除出数据库并且无法用于后续测试...我不确定。

这可能有用:https://github.com/pcreux/rspec-set - 还有其他想法吗?

2 个答案:

答案 0 :(得分:0)

您可以随时为测试制作假密钥对。如果将它们存储在数据库中,则预生成它们将无法工作,因为每次测试都应清除数据库。我想你可以将它们存储在YAML文件中,然后从那里读出来......

答案 1 :(得分:0)

https://github.com/pcreux/rspec-set对于我们需要的东西已经足够了,并且在它留在数据库中的粪便之后与一个after / all块结合起来进行清理。