【发布时间】:2016-10-23 04:53:48
【问题描述】:
在 Ruby on Rails 4/RSpec/Capybara 模型测试中,我需要为一个特定的测试文件加载一些不会在任何其他测试中使用的种子数据。是否有适当的协议来为这种情况编写单独的“种子”文件。
我研究了 SO 并找到了对 load #{Rails.root/db/(filename.rb) 的引用,但似乎很多人都认为这是正确的做法。
【问题讨论】:
-
你能添加一个测试吗
-
@CdotStrifeVII 我可以添加我猜的测试文件,但不确定它会有什么帮助 - 我需要知道如何仅在特定上下文下加载种子数据 - 并确保之后将其删除
-
您可以将种子实现为Shared context is RSpec,然后仅在
include_context "my seeds"的特定测试中使用它。但我认为加载文件的方法也是合适的,只有文件应该位于spec/fixtures -
@OleksandrAvoyants 如果您将其作为答案,我可以将其标记为正确答案,因为这似乎是我快速扫描的解决方案
-
MageeWorld 这会有所帮助,因为我正在考虑使用共享上下文块,但我想了解更多关于您的测试结构的信息。
标签: ruby-on-rails rspec model