Our second Book Promotion: “Rails Test Prescriptions” starts soon. Win one of four books to be given out for active participation. The coolest thing? Author Noel Rappin will be on site to answer questions! Click here to join for free. Here, in this brief interview, Satish Talim of RubyLearning talks to Noel Rappin.
Satish>> Noel, could you tell us something about yourself – your background, where you are based?
Noel>> I work for Pathfinder Development, a web consulting firm in Chicago, Illinois, as the Vice President of Rails Practice, which means that I am a technical lead or technical consultant on our Rails projects in addition to keeping a general eye on the latest and greatest tools. I’ve been working in web applications for about ten years, the last few of which have been primarily in Rails. Before that, I earned a Ph.D. in educational technology from the Georgia Institute of Technology.
I am the author or co-author of three books, _Jython Essentials_, _wxPython in Action_, and Professional Ruby on Rails.
Satish>> Your book “Rails Test Prescriptions” – what is it about?
Noel>> Ideally, it’s a complete guide to testing your Rails application, by which I mean both the technical aspects of how the testing tools work as well as the process by which you can take advantage of testing to improve your code. The book starts with a detailed tutorial about how to get started on a new project using a test-driven development process. Following that, the book has sections on each of the major components of Rails testing, unit testing, functional testing, fixtures, and so on. Later sections cover testing style and tips for better testing, as well as popular third-party tools like Shoulda, Cucumber, factory tools, and so on.
Satish>> Who is the book targeted at?
Noel>> The book assumes some basic knowledge of Rails, but beyond that, it doesn’t assume any particular knowledge or experience with testing. I hope, though, that even if you think you know how to test, you’ll still get value from the discussions of testing style, how to test in unusual situations, and newer test tools like Cucumber.
Satish>> Why did you decide to publish the book yourself?
Noel>> Probably the most important reason is the ability to easily keep the book up to date over time. Rails tools change so rapidly that any print book starts to go out of date the second it hits the shelves. Having a chance to update the book when a new version of a tool is released will make the book valuable to it’s readers for longer.
I’ve worked with some wonderful people at technical publishers, but the publishing industry works slowly, and this was a chance to write about a subject that I was excited about without having to spend six months convincing a publisher that the topic was worth their time.
Satish>> What kinds of tests and tools to write these tests, do you cover in the book?
Noel>> I start with the basic tools that come with Rails, on the theory that everybody will have access to them. After that, I try to cover everything that either seems to have a substantial number of users, or that I just personally use and like. In the case where there are multiple tools that do the same thing, I tried to focus on the one tool that either had the most interesting functionality or the largest user base. For example, rather than write essentially the same topic about three different mock object frameworks, I chose to focus on Mocha due to it’s prominent use by the core Rails team.
Satish>> Anything else you would like to add?
Noel>> This book is still very much a work in progress, so in addition to questions about Rails and testing, I’m very much interested in what kind of topics I should be including in the book.
Thank you Noel. In case you have any queries and/or questions, kindly post your questions here (as comments to this blog post) and Noel would be glad to answer.