> I've got a class, in the constructor it loads a CSV file from disc. I'd
> like only 1 instance of the class to be instantiated. However, when
> running
> multiple unit tests, multiple instances of the class are created. What's
> the best way for me to avoid this? It takes about a few seconds to load
> the
> CSV file.
Use a factory function:
_instance = None
def createFoo(parameters):
if _instance is None:
_instance = Foo(parameters)
return _instance
and replace all occurrences of Foo(parameters) with createFoo(parameters).
For new-style classes, you may override the __new__ method instead.
Perhaps I didn't understand your problem correctly because this is
unrelated to unit testing...
--
Gabriel Genellina
This post that might be worth reading, as it relates to testing with
singletons.
http://misko.hevery.com/2008/08/17/singletons-are-pathological-liars/
As is this