Learn How To Write Effective And Maintainable Tests in Ember.js applications
Why did I write this book?
Writing a book seemed to me to be a pretty cool idea for a long time. I remember reading a few years ago a short, self-published e-book about Chef and setting up server infrastructure and besides enjoying the content of the book and learning a lot from it, I found it pretty fascinating that you can publish a book in such a simple way. That was probably the day when I started thinking about writing something more meaningful and having more impact comparing to writing just blog posts.
In less than 3 years later after reading this book, I became the CTO of BookingSync which I consider as one of my greatest achievements, especially given the fact that I don’t have a formal computer science background and that 5 years earlier I had barely known what a “loop” or “conditional” is. I started to analyze my last few years and figuring out how exactly I managed to do that.
It was pretty clear that despite learning myself how to code, I couldn’t really say that I did everything myself. Obviously, I had to do the actual work, but the help was ubiquitous - I was able to find answers to a lot of my questions on StackOverflow, I was reading a lot of blogs with great content, and everything was available for free! And certainly, there is something more which deserves a special award: open source software. Thanks to the awesome community behind Ruby on Rails and Ember.js, I’ve managed to achieve all those things, and without the help of the community, I certainly would never have a chance to learn Rails or Ember, simply because those frameworks would have never evolved without everyone contributing to them.
It made me think that I partially owe my career to all the awesome people involved in the development process of the languages, frameworks, gems, addons and other tools I’ve been using from the beginning and to the fact that they gave something back. I’ve been been contributing to open source software for a while and have been periodically writing articles on my blog, wrote a couple of articles on Ragnarson’s blog when I used to work there and also had a chance to write a guest blog post for Code School. I managed to help some developers here and there by own contributions, but I didn’t think it was enough compared to how much I’d had benefitted from the open source software. Since I had had a plan to write a book for a long time, I thought it was the right time to do something much more meaningful and truly give back.
One major gap in the Ember ecosystem for a long time has been a lack of information (besides the official docs) how to do the TDD in real-world Ember apps and how to do it right. I’ve been interested in Test-Driven Development for a long time, so that looked like a perfect opportunity to share something that could help other developers in a substantial way.
I hope that by releasing this book for free, I will reach a larger audience comparing to a paid version and “pay” my debt to the open source community.
Who Is This Book For?
Every Ember developer, regardless of the skills, could benefit from this book. If you are a beginner, you will certainly learn more as it may serve as a guide for writing the tests. Nevertheless, if you are an experienced developer who has already written tons of tests, you can still find some useful ideas and techniques about writing tests presented in the book that could improve the way you approach testing or just show a different perspective.
This book assumes a basic knowledge of Ember and popular tools (mostly ember-cli). Having some background in testing (not necessarily in JavaScript) will also be beneficial, as this book doesn’t really focus on the basics of testing itself, but rather how to do it for Ember applications.
How To Read It
I would suggest reading it from the beginning till the end in chronological order, but feel free to jump to some particular chapter if you really want to focus on one particular concept at the moment.
Download 1.0
Github Repo of the application developer in the book
If you enjoyed the book, please rate in on Goodreads.