2011-09-16 42 views
6

我设计一个测试用周围黄瓜和RSpec Rails和我在想,如果这是很好的做法共享黄瓜验收测试和RSpec的单元测试的工厂女孩​​工厂代码。黄瓜和RSpec共享工厂女孩工厂

而如果它是很好的做法,即是最好的地方中立的位置放置了rspec的和黄瓜的工厂。

非常感谢

回答

5

您可以在任何你喜欢的地方使用工厂。我通常在rspec和我的黄瓜故事中使用它们。

工厂是固定的替代品。一般的想法是能够对可读的测试进行测试,并远离“固定装置”地狱场景。

我觉得它很好,如果你把在规格/工厂,没有标准的位置。但我通常将它放在我的spec文件夹中。无需为此使用单独的中立位置。

+0

感谢您将它留在spec目录中。主要想知道我是否需要另一个factory.rb – GTDev

1

是的,这是一个很好的做法不重复同一个工厂的定义(如果它们共享......我会内容应该有一些重叠)。一种方法是在您的项目中创建一个名为工厂的新目录,然后将以下内容添加到您的rspec和黄瓜配置中:

/features/support/app.rb 
    Dir[Rails.root.join("factories/**/*.rb")].each {|f| require f} 

/spec/spec_help.rb 
    Dir[Rails.root.join("factories/**/*.rb")].each {|f| require f}