在“之前”运行 rspec在 Rails 初始化程序运行之前阻塞
我想在 Rails 初始化程序运行之前运行 rspec before
块来设置一些内容,这样我就可以测试初始化程序应该做什么。这可能吗?
I would like to run an rspec before
block to set some stuff up before the Rails initializers run, so I can test what an initializer should be doing. Is this possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果初始化程序中的逻辑足够复杂,则应该对其进行测试,您应该将其提取到一个帮助程序中,您可以在不处于初始化程序上下文中的情况下隔离和测试该帮助程序。
complex_initializer.rb
您可以将其提取到可测试的帮助程序中(lib/config/database.rb)
...然后只需在初始化程序中连接配置数据
...并在单独的测试中测试复杂的配置确定/计算,您可以在其中进行复杂的配置确定/计算可以隔离输入。
If the logic in your initializers is complex enough it should be tested, you should extract it into a helper that you can isolate and test without being in the context of the initializer.
complex_initializer.rb
You could extract that into a testable helper (lib/config/database.rb)
...then just wire up the configuration data in your initializer
...and test the complex configuration determination/calculation in a separate test where you can isolate the inputs.