Please provide patterns for testing rails generators, plugins and engines
08 Jul 2010, 23:00
Kristian Riiber Mandrup (10 posts)
With Rails 3, the Plugin and Generator architecture has been vastly improved, and I like many others I am sure want develop my own generators and plugins.
I have seen there is a Rails::Generator::TestCase you can inherit your unit test class from to facilitate testin generators (for examples of use see ‘rails3-generators’ project on github).
I am however not sure how to go about testing Rails 3 plugin development or Rails Engines (such as Devise). Please shed some light on this!
12 Jul 2010, 02:22
Noel Rappin (16 posts)
Thanks for the feedback. The basic answer for all these features is that they weren’t in the original schedule because no Rails 3 features were, since Rails 3 was barely a glint when the outline was written. But I’ll definitely take it under advisement, because they are good features to cover. I can’t promise anything yet, because there are practical constraints of time and space, but I’ll definitely look into it.
Some specific notes:
If I was trying to test a generator that talked via the shell, I might try the Aruba gem that extends Cucumber for command-line stuff, but I’m not completely sure if that would work.
This is just me talking out of school, because I haven’t tried it yet, but I think you’d test a Rails Engine just as though it was it’s own mini-app. I might be missing something, though.
As far as plugins go, the main issue is simulating the application that surrounds the plugin. I haven’t tried it in Rails 3 yet, but my previous book “Professional Ruby on Rails” does talk about testing Rails plugins in a Rails 2 environment, and I think that some of the techniques would still hold.
|You must be logged in to comment|