[rspec-users] Accessing the model class from within an rspec-rails spec

Scott Taylor mailing_lists at railsnewbie.com
Wed Oct 29 01:40:08 EDT 2008


On Oct 28, 2008, at 9:09 AM, Cameron Booth wrote:

> Hi everybody,
>
> New to the list, so apologies if this has been answered elsewhere,  
> but I didn't find it. I'm trying to build up a plugin of useful  
> rspec macros for rails development, eg. things like:
>
> it_should_return_success
> it_should_redirect_to { some_url }
>
> I'm basing my ideas off of some stuff technoweenie has done, as well  
> as a few others.
>
> One thing I'd love to do is be able to figure out the model class in  
> a rails model spec, so I can do something like:
>
> describe User do
>   it_should_validate_presence_of :name
> end
>
> I can get it working if I pass in User as an argument:
>
> describe User do
>   it_should_validate_presence_of User, :name
> end
>
> but that feels redundant. Is there a way to access the class itself  
> that I'm missing? On the controller spec side, I see there is  
> controller_class_name, but that needs to be set with the  
> controller_name method. I could go for something like that if  
> required, but somehow it seems like it would be overkill.
>
> Any advice would be greatly appreciated, thanks!!

Why not something like this:

before(:each) { @user = User.new }

it { @user.validate_presence_of(:name) }

Scott



More information about the rspec-users mailing list