Have Autotest speak to you
Update: the first .autotest I had in here was bogus, sorry about that. The .autotest file contents below work properly with Rspec tests at least.
I make extensive use of ZenTest's Autotest to constantly watch my test suite and ensure my app's tests are passing on my dev box/during development. Historically I've used Growl/growlnotify to get little popup notices indicating if my tests passed or failed. That's nice, and I've done the enhancements that add graphics and style it nicely, etc. But, in reality, I'm not always looking and sometimes don't see the messages. Plus, they can be somewhat distracting.So, I've switched to using the handysay tool on the Mac (on Linux I think you could use "espeak", no clue on Windows, but then, uh, well, why are you doing dev work on Windows?! ;-)The speaking is nice - I hear it, but don't get visually distracted. I use different voices for tests passed vs. failed too. This may not work great if you work in a cube farm, or even a cafe, but here at home, or in your own office, I think it's great. Here's my .autotest file as an example:require 'autotest/redgreen'module Autotest::Growl def self.growl(title, msg, img, pri=0, stick="") system "/usr/local/bin/growlnotify -n autotest --image #{img} -p #{pri} -m #{msg.inspect} #{title} #{stick}" end Autotest.add_hook :ran_command do |at| results = at.results.last unless results.nil? output = results[/(\d+)\s+examples?,\s*(\d+)\s+failures?(,\s*(\d+)\s+pending)?/] if output failures = $~[2].to_i pending = $~[4].to_i end if failures > 0 `/usr/bin/say -v Zarvox "you broke the code"` elsif pending > 0 `/usr/bin/say -v Alex "Tests passed, with some pending"` else unless at.tainted `/usr/bin/say -v Victoria "all tests passed"` else `/usr/bin/say -v Victoria "tests passed"` end end end endend