我正在使用Cucumber和Rspec设计围绕轨道的测试,我想知道在黄瓜验收测试和Rspec单元测试之间共享Factory Girl工厂代码是否是一个好习惯。
如果这是一个好的做法,哪里是最好的中立位置工厂为rspec和黄瓜。
非常感谢
答案 0 :(得分:5)
您可以在任何您喜欢的地方使用工厂。我通常在rspec和我的Cucumber故事中使用它们。
工厂是夹具更换。一般的想法是能够正确读取测试并远离“固定装置”地狱场景。
我认为如果您放置在规格/工厂中,它没有标准位置。但我通常把它放在我的spec文件夹中。无需使用单独的中立位置。
答案 1 :(得分:1)
是的,不重复相同的工厂定义是一个好习惯(如果它们是共享的...我会满足那里应该有一些重叠)。一种方法是在项目中创建一个名为factories的新目录,然后将以下内容添加到rspec和cucumber配置中:
/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}