Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: unittest & setup

0 views
Skip to first unread message

Gabriel Genellina

unread,
Nov 3, 2009, 11:42:55 PM11/3/09
to pytho...@python.org
En Wed, 04 Nov 2009 01:02:24 -0300, Jonathan Haddad <j...@jonhaddad.com>
escribi�:

> 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

Joe Riopel

unread,
Nov 4, 2009, 9:08:12 AM11/4/09
to Jonathan Haddad, pytho...@python.org
On Tue, Nov 3, 2009 at 11:02 PM, Jonathan Haddad <j...@jonhaddad.com> wrote:
> 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.

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

http://misko.hevery.com/code-reviewers-guide/

0 new messages