Vladimir is a mathematician who found his happiness in programming Ruby and Erlang, contributing to open source and being an Evil Martian. Ruby on Rails contributor, author of AnyCable and many yet unknown ukulele melodies.
To mock or not mock is an important question, but let’s leave it apart and admit that we, Rubyists, use mocks in our tests.
Mocking is a powerful technique, but even when used responsibly, it could lead to false positives in our tests (thus, bugs leaking to production): fake objects could diverge from their real counterparts.
In this talk, I’d like to discuss various approaches to keeping mocks in line with the actual implementation and present a brand new idea based on mock fixtures and contracts.