September 11, 2019, Toronto

James Shore

James Shore teaches, writes, and consults on Agile development processes with an emphasis on technical excellence. He test-drove his first web application in 2000 and hasn’t stopped since. He is a recipient of the Agile Alliance's Gordon Pask Award for Contributions to Agile Practice, co-author of The Art of Agile Development (O'Reilly), host of Let's Code: Test-Driven JavaScript, and co-creator of the Agile Fluency™ Model. InfoQ has named him one of the “most influential people in Agile.” You can find his screencasts at, essays at, and more about the Agile Fluency Model at

Workshop: Faster, More Effective Test-Driven Development

Are your tests slow and brittle? Do you get a sinking feeling when you need to refactor? Do you worry that your unit tests aren’t actually testing anything important? If so, you could benefit from writing tests that don’t use mock objects.

In this workshop, you’ll use Node.js to explore a cutting-edge approach to test-driven development (TDD) that doesn’t need mocks or end-to-end tests. We’ll re-examine test-driven development from first principles to create tests that are fast, effective, and easy to write. We’ll tackle real-world problems such as testing infrastructure, evolving mock-free designs from scratch, and working with existing mock-based designs.

You’ll learn the core principles of testing without mocks, the tradeoffs involved, what’s easier, and what’s harder. Because this course re-examines test-driven development from a new perspective, it’s suitable for both TDD beginners and experts. You’ll leave with a new bag of tricks for your toolkit and you’ll be ready to choose between a mock-based or mock-free approach depending on the needs of your code.

Target audience: Experienced programmers. Basic familiarity with JavaScript and Node.js. No prior TDD experience is needed, but basic familiarity with testing frameworks is recommended.

Pre-requisites for attendees:

  • Laptop with Wifi
  • Node.js installed
  • git installed

Max attendees: 30

Length: 1 day

Send me updates!

You can unsubscribe at any time by clicking on the unsubscribe link at the bottom of our emails.