Join Newsletter

Faster, More Effective Test-Driven Development

YOW! 2019 Melbourne - 11 Dec

Register Now

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.

James Shore

Consultant

Titanium I.T. LLC

United States

James Shore teaches, writes, and consults on Agile development processes with an emphasis on technical excellence. 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/, 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 letscodejavascript.com and essays at jamesshore.com.

Workshop Details

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.
Level
Intermediate
Duration
Full day

Learning Outcomes

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.

Prerequisites

  • Laptop
  • Internet connection
  • Node.js installed
  • git installed