![]() | 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! Kristian |
|
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. Thanks! Noel |
| You must be logged in to comment |

