Book Review : The Rails Testing Handbook by Semaphore
I had the opportunity to read a recent free ebook “The Rails Testing Handbook” by Semaphore and needless to say the content in the book is as elaborate as the title claims. The most interesting part of the book is the fact that the lessons shared are drawn from practical experiences of the semaphore team. Drawing from the challenges they faced before adopting TDD to when they evolved in their development to better appreciate the practice. Therefore many teams working with the rails stack will very much relate with this experience.
This book will appeal or rather be very beneficial for ruby on rails developers that want to know how to implement maintainable and sustainable rails applications and developers that have never known why test first development is important when implementing projects. This book sells you the why we all need to practice TDD and the how to achieve the same when developing ruby on rails applications.
Inline with this, the content is explained in a very basic way but a good understanding of ruby and ruby on rails is handy as the book does not explain every nit on how to get started with ruby on rails. The reader should be comfortable with the rails work flow and comfortable with ruby. In my opinion.
The book explains in detail about ;
- Why we need to practice Test first Development. Relating to the waterfall model, the authors emphasize why test first development informs design of projects thereby increasing productivity because then teams do not get tempted to over engineer.
- How to do BDD with Ruby on rails. The book specifically walks you the process of implementing BDD with a BDD tool called cucumber that the authors recommend. The authors do not make great comparisons with other ruby BDD tools but they do a good job of explaining from first principles how to write acceptance tests with cucumber for a rails application.
- Implementing CI/CD with semaphore. If you guessed it right, then you probably thought there would be continuous integration in this book as well since automated testing is one of the requirements for continuous integration and continuous deployment. The book explains how to implement a continuous integration pipeline with an on line continuous integration tool called semaphore
- A bit of unit testing with Rspec . There are examples on unit testing with Rspec plus references to good resources on the subject for the reader to explore further.
This is a book that gives you content as promised from its title. What you see in the title is what you get in the content. It explains more of BDD with elaborate examples which is all you need to know if you are interested in the subject. The biggest catch is the fact that the semaphore authors are sharing from their experience as a team which in essence relates to anyone using the ruby on rails stack.
I therefore can give it a 4.99/5 rating for clear, precise, elaborate and practical explanation on rails testing. I am Leaving out the 0.001 so that I agree with anyone that may have useful criticism for this ebook.