Hi! I'm Avdi Grimm, and this is my software development blog. More...
Books and Screencasts
Small plates of gourmet Ruby code.
32 Patterns for joyful coding.
The Making of Cowsays.com
Watch me build an app in Sinatra and Rails
Objects on Rails
A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.
The definitive guide to exceptions and failure handling in Ruby.
- Emacs Reboot
- RubyTapas Samples
- Smalltalk Best Practice Patterns
- Study Notes
- Stuff Worth Buying
- Stupid Ruby Tricks
Tag Archives: testing
Sometimes on RubyTapas I serialize larger projects into bite-sized pieces. In this episode, you can see a slice of the outside-in TDD process I use as I develop part of my gem-love project. You’ll see me thinking about messages before … Continue reading
At the borders of our systems, mockist testing hits a point of diminishing returns. In this free episode we take a look at when to stop mocking and start integration testing.
I have a few ongoing miniseries in RubyTapas. In this, the second installment of a miniseries chronicling the creation of a Rubygems plugin and an associated server, I touch on a number of topics including acceptance testing, the shellwords standard … Continue reading
How I avoid finding myself in database bizarro world while testing Rails apps. Continue reading
NullDB, for those who don’t know, is a null backend for ActiveRecord. Unlike RSpec’s stub_object, rather than raise an exception on DB access, will NullDB DB interactions simply become no-ops. This is handy for things like testing after_save hooks in … Continue reading
CapnKernul asks: Hey Avdi. How would you test that a method’s provided block is called in RSpec? Would you stub #to_proc (for &block) and mock #call? Typically the way I test that a block is called goes something like this: … Continue reading
I made this gnomic remark on Twitter the other day: To be a successful mockist, you must dislike mocks. A lot of people re-tweeted it, so I guess I’m not completely alone in thinking this way. I should back up … Continue reading
If we are not honest about the causes of a bad situation, we pose a significant danger to those who are either less-experienced or uncertain about their own situation. Take a slow test suite, for example. Having a test suite … Continue reading