[rspec-users] Error Testing a view in RSpec 2

David Chelimsky dchelimsky at gmail.com
Tue Oct 12 20:37:12 EDT 2010


On Oct 12, 2010, at 7:33 PM, Rafael Felix wrote:

> 
> On Oct 12, 9:24 pm, David Chelimsky <dchelim... at gmail.com> wrote:
>> On Oct 12, 2010, at 6:38 PM, Rafael Felix wrote:
>> 
>> 
>> 
>> 
>> 
>>> Well, I'be looking for test my views with rspec, looking the
>>> documentation athttp://rspec.info/rails/writing/views.htmlwe see
>>> some examples, in RSpec 2 the response was deprecated and now I'm
>>> using the rendered instead, but this code
>> 
>>> describe "tags/search.html.erb" do
>>>  it "should be have an p when no company for the tag was found" do
>>>    assigns[:name] = "Teste"
>>>    render
>>>    rendered.should have_tag('h4', "Visualizando empresas pela Tag
>>> Teste")
>>>  end
>>> end
>> 
>>> and I get :
>> 
>>> Failures:
>>>  1) tags/search.html.erb should be have an p when no company for the
>>> tag was found
>>>     Failure/Error: rendered.should have_tag('h4', "Visualizando
>>> empresas pela Tag Teste")
>>>     undefined method `has_tag?' for #<String:0x7f45cc59a880>
>>>     # ./spec/views/tags/search.html.erb_spec.rb:9
>> 
>>> I don't know what method we use to check my views?
>> 
>> If you're using webrat, use have_selector or have_xpath. Otherwise, use Rails' assert_select.

Please post inline or at the bottom. It makes it easier to follow the conversation. I moved your post to the bottom:

> Changing my test, for user assert_select, an new error is raised
> 
> it "should be have an p when no company for the tag was found" do
>    assigns[:name] = "Teste"
>    render
>    rendered.should assert_select('h4', "Visualizando empresas pela
> Tag")

assert_select is a Rails assertion that works by itself, not an RSpec matcher. Use it like this:

assert_select('h4', "Visualizando empresas pela Tag")

HTH,
David

>  end
> 
> And the error:
> 
> Failures:
>  1) tags/search.html.erb should be have an p when no company for the
> tag was found
>     Failure/Error: rendered.should assert_select('h4', "Visualizando
> empresas pela Tag")
>     undefined method `matches?' for #<Array:0x7f41afa22388>
>     # ./spec/views/tags/search.html.erb_spec.rb:7
> 
> thanks for response


More information about the rspec-users mailing list