在过去的 2 天里,我一直在阅读我在博客、书籍、其他宝石的来源以及 SO 上可以找到的所有内容,但我终其一生都无法弄清楚这一点。诚然,我是编写 Ruby gems、Rails 引擎的新手,并不完全熟悉所有 RSpec 视图方法(但我正在尽可能多地学习)。
我已经在 Github 上公开了我的项目(尽管处于早期阶段,但这是基于我在最近的项目中重复使用的一些标记,我正在慢慢尝试将其引入这个 gem):
https://github.com/robmclarty/admin_bar-rails
在我弄清楚如何让我的测试正常工作时,我已经停止添加新功能。主要问题是我正在尝试运行的测试,它只是呈现部分视图(我可以在此基础上稍后检查其他内容),如下所示:
render :partial => 'admin_bar-rails/bar.html.haml'
rendered.should contain 'admin-panel'
...但我NameError
从 RSpec获得了view_renderer
如下信息:
Failures:
1) rendering admin bar should render an empty admin bar
Failure/Error: render :partial => 'admin_bar-rails/bar.html.haml'
NameError:
undefined local variable or method `view_renderer' for #<RSpec::Core::ExampleGroup::Nested_2:0x007f99f260ec88>
# ./spec/views/admin_bar-rails/bar.html.haml_spec.rb:13:in `block (2 levels) in <top (required)>'
我已经尝试包含并要求我阅读过的各种内容(正如您从我的代码中的注释行中看到的那样),但我无法让它通过。
这主要是一个“将动态标记插入视图”的 gem,所以我(和你)可以在其他 Rails 项目中重用一些通用模板。我只是在做错事吗?人们甚至会在 gems 中测试这样的视图吗?谁能指出我使用 RSpec 的其他一些更注重视图/资产的 gem 示例?