From: twifkak@... Date: 2005-06-28T06:09:18+09:00 Subject: Re: unit testing singletons Joe, In general, get Michael Feathers's Working Effectively with Legacy Code. It talks about 1)how to unit test singletons, and 2)why you shouldn't use singletons. In specific, find a way to instatiate the class! This could be as easy as sticking this in your test code: class SingletonToBeTested public :new end There's also testing the code that uses a singleton. You can test the side effects, as long as the singleton doesn't touch a database or something. You can also implement a mock. Michael Feathers suggests the following: at a public setInstance() method to your singleton class, and make the constructor protected. In your testing infrastructure, subclass your singleton with a mock class with public constructor, and pass an instance of that subclass to setInstance whenever you need to. In Ruby, though, it's quite a bit simpler: class SingletonToBeTested attr_accessor :instance end class MockSingleton < SingletonToBeTested ... end Err... was that what you were after? Devin