Cucumber 和 Rspec 共享工厂女孩工厂

发布于 2024-12-04 15:14:22 字数 165 浏览 1 评论 0原文

我正在使用 Cucumber 和 Rspec 围绕 Rails 设计一个测试,我想知道在 Cucumber 验收测试和 Rspec 单元测试之间共享 Factory Girl 工厂代码是否是一个好习惯。

如果这是良好的做法,那么哪里是放置 rspec 和黄瓜工厂的最佳中立位置。

多谢

I'm designing a test around rails using Cucumber and Rspec and I was wondering if it is good practice sharing the Factory Girl factory code between the Cucumber acceptance test and Rspec unit tests.

And if it is good practice where would be the best place neutral location to place the factories for rspec and cucumber.

Thanks a lot

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我不是你的备胎 2024-12-11 15:14:22

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

工厂是固定装置的替代品。总的想法是能够正确阅读测试并摆脱“固定装置”地狱场景。

我认为如果你放在spec/factories 中就可以了,没有标准位置。但我通常将其放在我的spec文件夹中。无需为其使用单独的中立位置。

You can use factories anywhere you like. I generally use them in rspec and my Cucumber stories.

Factories are fixture replacements. General idea is to be able to right readable tests and move away from the "fixtures" hell scenario.

I think its fine if you place in spec/factories , there is no standard location. But I generally place it in my spec folder. No need to use a separate neutral location for it.

乖乖 2024-12-11 15:14:22

是的,不重复相同的工厂定义是一个很好的做法(如果它们是共享的......我会满足于应该有一些重叠)。一种方法是在项目中创建一个名为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}

Yes, it is a good practice to not repeat the same factory definitions (if they are shared... which I would content there SHOULD be some overlap). One way to do this is to create a new directory in your project called factories and then add the following to your rspec and cucumber configurations:

/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}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文