Test that a string is not displayed in view

How can I test that a view does not display a particular string any where?

E.g., the particular string is "I should not be here". In my controller test, I have:

assert_select "div", /I should not be here/, false

but this does not work. It fails although I don't have that string in the view. Also, I am testing against "div" blocks for now but what I'd like to test is against the whole view.

Thanks,

Vincent.

Learn by Doing wrote:

How can I test that a view does not display a particular string any where?

E.g., the particular string is "I should not be here". In my controller test, I have:

assert_select "div", /I should not be here/, false

but this does not work.

Are you sure you have the correct syntax?

It fails although I don't have that string in the view. Also, I am testing against "div" blocks for now but what I'd like to test is against the whole view.

You can match against the whole response.

Note, however, that you should probably be doing most of your view testing with Cucumber, and that RSpec is much better to work with than Test::Unit.

Thanks,

Vincent.

Best,

Thanks Marnen, I would love to use cucumber but cucumber is not working for me. Please see my other question regarding this issue: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/90bbeee1d56da466#

Thanks.

Learn by Doing wrote:

Thanks Marnen, I would love to use cucumber but cucumber is not working for me.

Then get it working! It's essential.

Please see my other question regarding this issue: http://groups.google.com/group/rubyonrails-talk/browse_thread/thread/90bbeee1d56da466#

I will look.

Thanks.

Best,

assert_select "div", {:text => /I should not be here/, :count => 0}

Just use "body" to check the whole view

Colin