lea*_*ico 5 rspec ruby-on-rails rspec-rails
我在lib /目录下的文件上写了一个规范.我在那里的一个方法返回一个HTML字符串,但后来我尝试了类似的东西:
expect(subject).to have_selector("p:eq(1)") do |first_p|
Run Code Online (Sandbox Code Playgroud)
它给了我以下错误:
Failure/Error: expect(subject).to have_selector("p:eq(1)") do |first_p|
NoMethodError:
undefined method `has_selector?' for #<String:0x007f93798a8338>
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?我应该用另一个特定对象包装字符串对象吗?我试过Nokogiri :: HTML.fragment(),但它也没有用.我想我应该用一些webrat的对象或类似的东西包装它,但我不知道如何到达那里.提前致谢.
我对使用我在本线程前面发现的解决方案感到不太满意type: :view,尽管它是一个非常有效的解决方案。问题是,我对目录内文件的规范lib/实际上不应被视为视图规范。
因此,我在互联网上做了一些进一步的研究,发现了一种对我来说似乎更好的方法。
因此,考虑该线程中的原始示例。您应该只在描述块中添加以下行:
include Webrat::Matchers
Run Code Online (Sandbox Code Playgroud)
所以最后的例子看起来像:
describe MyApp::UI::MyDecoratorClass do
include Webrat::Matchers
# ...
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
366 次 |
| 最近记录: |