In integration tests, I like that you can set the Accept header ahead of 
time (i.e. before the request is made):


self.accept = "application/json"


AFAIK this is the only header that can be set in this way. I am missing a 
way to set any header arbitrarily in the setup phase of these tests. 
Without it, the alternatives seem to be a) duplicated test code, or b) 
wrapping the request helpers. Setting a header as in the case of accept= 
would be preferable to me.

Are there plans to enhance the integration tests in this way? Or reasons to 
not want to? If acceptable, I'd be happy to tackle this, but wanted to 
check first. Thanks!


P.S. I had this objection from Rafael França:


You are able to set the headers when doing the request so why you need to 
> do it globally? Duplication in tests is totally fine and even make the 
> tests more clear.


Duplication in test code seems to be a matter of debate. While I largely 
agree that duplication is fine, I think that it can be desirable to extract 
common code into a setup method if it's not particularly salient to the 
behavior being tested. I think setting the same headers in all my API tests 
would fall into that category. That may be my preference, but I know that 
many developers are a lot more concerned about duplication in test code 
than me, so I think this would be a useful feature.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at https://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/d/optout.

Reply via email to