106: Testing Javascript and RabbitMQ with Derick Bailey
with Derick Bailey
About this episode
Today we'll be test talking with Derick Baily, a software developer and founder of watchmecode.net , 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.
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.
Resources
- Watch Me Code
- RayGun
- RabbitMQForDevs.com
- Jasmine – A Behavior-Driven JavaScript Framework
- Entreprogrammers – A podcast for developerneurs
Connect with Derick
- Twitter:@derickbailey, @mutedsolutions
- Blog: derickbailey.com
- Company:WatchMeCode
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!
Keep listening
Related episodes

Automation Testing Podcast · Ep. 609
Why Your AI Tests Pass When Your Features Fail with Donovan Brady
with Donovan Brady
Why Your AI Tests Pass When Your Features Fail? Donovan Brady of Leapwork shows how to make
Oct 27

Automation Testing Podcast · Ep. 608
Scary Test Automation POCs Made Easy: Halloween Special With Paul Grossman
with Paul Grossman
Running a proof of concept on test automation tools can feel like a horror movie. Vendors promise
Oct 20

Automation Testing Podcast · Ep. 607
Locust and Azure Load Testing: Create and Debug Load Tests with AI with Lars Holmberg and Abhinav Premsekhar
with Lars Holmberg and Abhinav Premsekhar
Performance testing has never been easier to start, or more important to get right. As teams ship
Oct 6

Automation Testing Podcast · Ep. 606
AI Agents Passed the Tests. Real Devices Didn’t. with Nick Metcalfe
with Nick Metcalfe
Cloud device farms make it easy to get started with real device testing. But what happens when
Sep 29