Hi Richard (and Luis in the reply below),
Excellent, I knew there must have been a reopsitory out there with good
samples to work off. that looks fantastic.
Thank you very much
Jeff
On 27/09/12 09:25, 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 <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 <http://twitter.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 <http://twitter.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
<https://groups.google.com/forum/?fromgroups=#%21forum/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
<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]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:[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]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:[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]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:[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]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:[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.