2009-03-24 47 views
3

Was ist der beste Weg, um Code wie folgt zu testen (die unten offensichtlich ausfällt, während Objekt in unterschiedlichen Block jedes Mal erstellt wird):doctest für dynamisch erstellte Objekte

def get_session(db_name, verbose, test): 
"""Returns current DB session from SQLAlchemy pool. 

>>> get_session('Mmusc20090126', False, True) 
<sqlalchemy.orm.session.Session object at 0xfb5ff0> 

""" 
if test: 
    engine = create_engine('sqlite:///:memory:', echo=verbose) 
    log_load.debug('DB in RAM.') 
else: 
    engine = create_engine('sqlite:///' + 'DB/' + db_name + '.db', echo=verbose) 
    log_load.debug('DB stored in file: %s' % 'DB/' + db_name + '.db') 

# Create TABLES: Structures, Interactions, Interactors, PDB_UniProt, UniProtSeq 
meta.create_all(engine) 

Session = sessionmaker(bind=engine) 
session = Session() 

return session 

Antwort

8

Ich glaube, Sie Auslassungs verwenden möchten, dies wie:

>>> get_session('Mmusc20090126', False, True) #doctest: +ELLIPSIS 
<sqlalchemy.orm.session.Session object at 0x...> 

Siehe here für weitere Informationen.

+0

Danke für das Update Ihrer Antwort, ich graben online für wo ich diese #doctest setzen sollte: + ELLIPSIS thingy (Ich dachte, dass die Verwendung von Nase unterscheidet es von unitest);) –

Verwandte Themen