Derick Bailey TestTalks Feature

Testing Javascript and RabbitMQ

Today we'll be test talking with Derick Baily, a software developer and founder of , a community dedicated to learning JavaScript, Node.js RabbitMQ and more. He is also one of the co-hosts of my favorite podcast, Entreprogrammers.

In this episode we’ll discuss Testing Javascript and RabbitMQ applications from a developer’s perspective, so if you’re either a developer or a tester and need to get up to speed quickly with JavaScript, this episode is for you.

About Derick

Derick Bailey Headshot
Derick Bailey is an entrepreneur, problem solver (and creator? 😛 ), software developer, screen-caster, writer, blogger, speaker and technology leader in central Texas (north of Austin). He runs where he throws down the JavaScript gauntlets to get you up to speed. He has been a professional software developer since the late 90’s, and has been writing code since the late 80’s.

Quotes & Insights from this Test Talk

  • For unit testing, I still use Jasmine. I've been a big fan of it for a good number of years now. It's not the most up to date framework out there. I know Mocha and a few others do push forward faster, and more frequently, but I'm not so interested in staying on the cutting edge, or even the leading edge of the testing world. I'm more interested in long term stability and support, which I find in Jasmine. I've stuck with it because of its simplicity, as well.
  • If you can, don't learn testing, don't learn JavaScript testing in a browser, because it can be deceptively simple there. You start messing with Jasmine, for example, and you use the in browser Test Runner, and, “Oh, it's great because I can see the wonderful red/green dots on the screen, and click through things,” but then you try to put it into an automation environment, and it falls apart, because you don't have a browser, and then you have to get into PhantomJS and other headless browsers that tend to get complicated quickly.
  • My core audience there is developers that are familiar with and productive in JavaScript, but want to go to the next level, want to really dig deep into the language, but also into well structured and well architected systems, primarily in Node, but also in the browser. I do have a fair number of testing Screencast's in there, covering Jasmine in different scenarios. Everything from way back in the day, running tests around Backbone.js to more up to date stuff with an intro to Jasmine testing, as well. There is plenty of material there for somebody that already knows JavaScript, and just needs to learn the testing side, but the testing aspect is something that I haven't covered enough in “Watch Me Code,” and that's something I know I need to focus on this year, and write a better series of tests.
  • The idea is if you want to write test automation for your code, you need to be able to separate individual pieces. You need to be able to take this one function, this one class, this one object, this one whatever, and completely separate it from anything else in your system, so that you can verify the behavior of this one thing. Once you have behavior verified of the one thing, then you can start putting it together with other things that have been tested, as well. You start integrating those things together, and verify the interaction between those 2 things.
  • If at all possible, I would recommend recommend having the testers in the same room as the developers, and having the testers and developers involved in the same conversations, because ultimately, the testers have to understand what they are testing, and the developers have to understand what is being tested, as well as what is being developed. It's necessary to have everybody talking and everybody on the same page.
  • One thing to do, it's just going to be practice. Just hands down, that is the single best thing you can do is practice, and the best way to practice is to create throwaway projects that are designed to do nothing but let you practice. I do this with every aspect of development, no matter what tools or technology I'm using. If I need to get better at something, I throw all of my actual project code to the side, I stand up a dummy project that is nothing but practice for that tool or technology, and I just pound away at it for as long as I can, or until I feel comfortable enough to go back to my real production code and put it in place.


Connect with Derick

May I Ask You For a Favor?

Thanks again for listening to the show. If it has helped you in any way, shape or form, please share it using the social media buttons you see on the page.

Additionally, reviews for the podcast on iTunes are extremely helpful and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.


Test Talks is sponsored by the fantastic folks at Sauce Labs. Try it for free today!