You can just run "rails plugin new" which gives you a dummy app and them 
install cucumber on the dummy app as you would on a normal app, and go from 
there. The dummy app should behave exactly as a normal app which loads your 
engine/gem.
On Sep 27, 2012, at 1:25 AM, Richard Schneeman wrote:

> Check out https://github.com/schneems/wicked  all of the tests are 
> integration tests with capybara. If something is going to break it is going 
> to break in a way the user would see it. You can see a variety of mixed 
> unit/controller/integration tests in my OAuth provider gem 
> https://github.com/opro/opro. 
> 
> You get a dummy Rails app for free when you initialize a new project using 
> https://github.com/josevalim/enginex, I haven't tried with `rails plugin new` 
> but I would expect you get something similar. This article should have some 
> info on testing for you: 
> http://coding.smashingmagazine.com/2011/06/23/a-guide-to-starting-your-own-rails-engine-gem/
>  but it is a bit dated.
> 
> -- 
> Richard Schneeman
> http://heroku.com
> @schneems
> On Wednesday, September 26, 2012 at 8:12 PM, Jeffrey Jones wrote:
> 
>> Hello Richard.
>> 
>> That makes sense, and it is the route I am looking at, but how does one boot 
>> the dummy app and access it using (for example) capybara?
>> 
>> Most information and repositories I have seen online do unit testing against 
>> the dummy app; I have not found any information on how to do full 
>> integration tests against the dummy app.
>> 
>> I am suer I must be missing something obvious or have managed to miss an 
>> obvious example repository to look at but I am not sure what (Hence the 
>> missing it in the first place)
>> 
>> cheer
>> 
>> Jeff
>> 
>> 
>> On 27/09/12 01:50, Richard Schneeman wrote:
>>> When I have problems isolating behavior in tests, sometimes it can be 
>>> useful to test more rather than less. If you are testing log output, use a 
>>> dummy rails app inside of your test suite with dummy controller actions and 
>>> hit it as a user would with capybara. Then you could route logs to stdout 
>>> or a custom log object, or simply parse the log file in log/ to verify the 
>>> correct strings are being written. While not as helpful for development as 
>>> unit tests, this type of end-to-end testing is great for protecting against 
>>> regressions and bugs.
>>> 
>>> -- 
>>> Richard Schneeman
>>> http://heroku.com
>>> @schneems
>>> On Wednesday, September 26, 2012 at 5:05 AM, Jeffrey Jones wrote:
>>> 
>>>> Ahoi Gary
>>>> 
>>>> Thanks for the info but the gem has already been created and the testing I 
>>>> want to do is not obvious (to my mind anyway) so online "Getting started" 
>>>> style stuff that I have found is not that useful..
>>>> 
>>>> This is why I was asking if an expert can offer some time to answer 
>>>> specific questions I have and help my get my head around it.
>>>> 
>>>> On a site-note by hacking around I seem to have got the LogSubscriber 
>>>> tests working, still no idea on how to do the rack logger tests though.
>>>> 
>>>> Cheers
>>>> 
>>>> Jeff 
>>>> 
>>>> 
>>>> On 25/09/12 23:58, Gary Weaver wrote:
>>>>> Not an expert, but since I have been kind of slack on testing recently, 
>>>>> I'll try to get some karma by trying to help. First, you may want to ask 
>>>>> on this list instead/too:
>>>>> https://groups.google.com/forum/?fromgroups=#!forum/rubyonrails-talk
>>>>> (Stackoverflow is also a good place to get Rails stuff answered for more 
>>>>> specific questions.)
>>>>> 
>>>>> This was the thing for Rails 3.0:
>>>>> https://github.com/josevalim/enginex
>>>>> 
>>>>> After that it became:
>>>>> rails plugin new
>>>>> 
>>>>> In: http://guides.rubyonrails.org/plugins.html
>>>>> 
>>>>>> 1.2 Or generate a gemified plugin.
>>>>>> 
>>>>>> Writing your Rails plugin as a gem, rather than as a vendored plugin, 
>>>>>> lets you share your plugin across different rails applications using 
>>>>>> RubyGems and Bundler.
>>>>>> 
>>>>>> Rails 3.1 ships with a rails plugin new command which creates a skeleton 
>>>>>> for developing any kind of Rails extension with the ability to run 
>>>>>> integration tests using a dummy Rails application. See usage and options 
>>>>>> by asking for help:
>>>>>> $ rails plugin --help
>>>>> 
>>>>> This looks like it might help:
>>>>> http://namick.tumblr.com/post/17663752365/how-to-create-a-gemified-plugin-with-rails-3-2-rspec
>>>>> 
>>>>> Rails initialization guide since you mentioned wanting to know the boot 
>>>>> process, but sounds like you don't need it:
>>>>> http://guides.rubyonrails.org/initialization.html
>>>>> 
>>>>> 
>>>>> On Tuesday, September 25, 2012 1:00:38 AM UTC-4, Jeffrey Jones wrote:
>>>>>> 
>>>>>> Hello all. 
>>>>>> 
>>>>>> #1 I am working on a rails3 gem called Yarder 
>>>>>> (https://github.com/rurounijones/yarder). The goal of this gem is to 
>>>>>> replace the rails logging system with one that is JSON based rather than 
>>>>>> string based. 
>>>>>> 
>>>>>> #2 To this end I also recently asked this list about making the 
>>>>>> LogSubscribers subscriptions to ActiveRecord::Notifications configurable 
>>>>>> and am looking at submitting a patch request. 
>>>>>> 
>>>>>> However for both of these I have rather run into a brick wall. 
>>>>>> 
>>>>>> #1 Yarder works (mostly, I have not finished or refactored and there are 
>>>>>> probably bugs) but it has no tests. The reasons for this is that I 
>>>>>> cannot get my head around how to test it (and how to set up the tests in 
>>>>>> the first place ) and there aren't examples of this kind of stuff online 
>>>>>> that I can see (rails own LogSubscriber tests use a lot of support files 
>>>>>> specific to the rails gems which makes using them as a base less than 
>>>>>> obvious) 
>>>>>> 
>>>>>> #2 For this I am just not exactly sure how to start (Both dev and test) 
>>>>>> 
>>>>>> I have spent the last week or so looking through the rails code-base and 
>>>>>> testing setup to try and grok how to do the above but it is beyond me at 
>>>>>> the moment. 
>>>>>> 
>>>>>> I don't suppose there is a altruistic rails expert out there who is 
>>>>>> willing to spare some time (email, skype, whatever suits you best) to 
>>>>>> help me get my head around the rails internals (mainly the boot process 
>>>>>> and what to change for #2 plus setting up the tests) and how to test #1. 
>>>>>> 
>>>>>> Regards, 
>>>>>> 
>>>>>> Jeff Jones 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>> -- 
>>>>> You received this message because you are subscribed to the Google Groups 
>>>>> "Ruby on Rails: Core" group.
>>>>> To view this discussion on the web visit 
>>>>> https://groups.google.com/d/msg/rubyonrails-core/-/a9Xaa3XtugcJ.
>>>>> To post to this group, send email to [email protected].
>>>>> To unsubscribe from this group, send email to 
>>>>> [email protected].
>>>>> For more options, visit this group at 
>>>>> http://groups.google.com/group/rubyonrails-core?hl=en.
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "Ruby on Rails: Core" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to 
>>>> [email protected].
>>>> For more options, visit this group at 
>>>> http://groups.google.com/group/rubyonrails-core?hl=en.
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Ruby on Rails: Core" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to 
>>> [email protected].
>>> For more options, visit this group at 
>>> http://groups.google.com/group/rubyonrails-core?hl=en.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Ruby on Rails: Core" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to 
>> [email protected].
>> For more options, visit this group at 
>> http://groups.google.com/group/rubyonrails-core?hl=en.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Core" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/rubyonrails-core?hl=en.

Cumprimentos,
Luís Ferreira



-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.

Reply via email to