Is there anyway to achieve inheritance of specifications? Suppose I had an action like
def index filter = params[:filter] ? params[:filter] : '%' order = params[:order] ? params[:order] : 'created_at DESC' @posts = Post.find(:conditions => "title LIKE #{filter}", :order => order) ... end Now I might have half a dozen specs for this action that test it when neither :filter nor :order are supplied as params. But now what I would like to do is test it when one, other or both of the params are passed to the action. Most of the specs will probably not need to change, but I would still like to run them in the case where params are supplied, just to be sure there are no unwanted side effects. Probably only one or two of the specs need to be modified, for example to assert that only Posts matching the filter are returned. It seems to me that a nice way to do this would be if descriptions could be extended. So I could have a basic description of the action describe 'test index w/o params' do ... it 'should return the right posts' end and would then be able to extend it for each case, e.g. describe 'test index with filter param' do; extends('test index w/o params') ... it 'should return the right posts' # overrides example in base spec end So this tests everything just like the base spec did, but changes/overrides one of the examples to correctly assert that the right posts are returned, thus giving me good confidence that the presence of the param does'nt cause breakage in places I might not normally bother to test because of my knowledge of the implementation. I can't find anything online to this effect. So far the best I have been able to do is write shared descriptions but this gets messy very quickly and causes all sorts of problems that I think makes it undesirable. Can anyone suggest a nice way for me to achieve the above. _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users