Test Driven Development with RSpec
Build an effective and fast testing environment
Test-Driven Development (TDD), supports an iterative and incremental development cycle. It involves writing your tests first before writing any production code. A test suite provides a safety net as you grow your product's behaviour one test at a time. This safety net supports you now and in the future to keep your application working as you change and grow it.
This concept can be challenging for those unused to it. What am I testing? How does that help me write better code?
In this workshop you will answer those questions as you learn test-driven development in Ruby on Rails using RSpec and Capybara amongst other tools. RSpec is the most popular Ruby testing framework. Capybara is a commonly used Ruby library which makes it easy to simulate how a user interacts with your application.
You will learn everything you need to know to start practicing TDD in your Ruby projects and become more confident in writing tests.
As a Software Engineer stepping into the world of technical leadership for the first time, I found Lachlan and Elle's workshop to be extremely valuable. Connecting with others in the industry gave me the opportunity to learn from real world examples, and there was a healthy balance of theoretical and technical content.
I'd recommend this workshop if you want to grow your team sustainably, and set them up for long term success.
Chris Nankervis
Curriculum
Day 1
- How to set up your test suite using RSpec
- The four phases of a test
- Integration specs, factories vs fixtures, and Shoulda Matchers
- Testing from the outside in: feature specs and BDD (behaviour driven development)
Day 2
- Using translations in your specs
- Controller specs
- Test collaborators
- Refactor a messy view into a presenter while using doubles
Day 3
- Testing considerations and strategies
- Testing anti-patterns and smells
- Writing faster specs
Day 4
- Build out a create and welcome new user feature, using mailer specs, job specs and service object specs instead of using ActiveRecord callbacks.
- Demonstrate how to implement and mock an API.
- Use Webmock and a fake Sinatra server to mock http requests
Code of conduct
Like all our events, this workshop is covered by our code of conduct and joining us assumes your agreement to be bound by the code.
Elle and Lachlan have a knack for creating a safe learning environment and helping participants of all levels get involved. I left their workshop inspired, with a few new tools under my belt and the confidence to put them in practice.
They know the web community inside-out so speakers they bring in are top notch. Would highly recommend them to any development team looking to level up.
Steve Gilles, Founder, Lookahead