nodejs / live.nodejs.org

Website for Node.js Live.
34 stars 35 forks source link

Mastering integration tests in the Node.js world - London #52

Closed xbill82 closed 8 years ago

xbill82 commented 8 years ago

I would like to propose a talk about the state of integration tests in the Node.js environment. With my work mates at Kuzzle.io, we set up behavior-driven integration test both for our backend and our frontend. It hasn't been easy to set up a Node-based stack but we finally did it and we've learned a lot. We are now able to run our tests on Travis thanks to Docker. Since everything is behavior-driven, non-dev people are able to specify features, which allows us to TDD. Behavior-driven tests also imply a lot of thoughts to allow re-usability of the statements and intelligent specification of steps. One interesting problem we also solved is how to debug tests that fail on Travis but not on local machines (the Travis VM are not accessible from outside). We are now confident when accepting pull-requests from the community, engage a big refactoring (even migrate an entire layer of our stack to a new technology) and, most of all, shipping solid code to production.

I want to talk about tests because many people still consider them as the hard or boring part of our job. It's very important to witness that testing is both possible and fun. Providing success stories and explaining solutions in detail will encourage our peers (and their managers) to consider testing as an essential part of our development process.

In this talk I will not talk about the back-office we are developing nor pitch Kuzzle itself, except for some details to give the audience some context.

Here goes a little "pitch" for the talk

People want to test what they sell (we know what can happen otherwise), but Behavior-driven Testing is not the easiest thing in the world. There are lots of options, choices aren’t trivial and yet, no solution seems optimal. Zombies having cups of Chai tea with Phantoms, chatting about Webdrivers while eating Cucumbers. All of this while sitting on the Docker of the bay watching Travis troll away. It sometimes seems a bit surrealistic, but the time has come to say that integration testing is necessary, possible and even fun!

Luca, from the Kuzzle.io team, is here to share what they’ve learned.

xbill82 commented 8 years ago

Hey guys, it's great to see that the CFP has been accepted but, as I wrote to Tracy last Monday, I regret not being able to be in London on July 21. I've been accepted to the Skillsmatter Fullstack Con and will spend the previous week in London, so it won't be possible to do another roundtrip from southern France the day of the event. So it would be nice to take my name out of the line-up.

Hope to join you on another Node Live event in the future. Keep it up with the great job.

Best.

hackygolucky commented 8 years ago

I'm sorry! I'll remove your name shortly. I'm solely responsible for that schedule and I was called away due to a death in my family this week, so was unable to see that email until I was pinged this afternoon.

xbill82 commented 8 years ago

Hey Tracy, it's ok. Things that happen, unfortunately :( Keep it up with the good work and enjoy the Node Live, hope I'll be able to join you another time.