2009-03-24 3 views
3

Что такое лучший способ проверить код, как это (один ниже, очевидно, не может в то время как объект создается в другом блоке каждый раз):Doctest динамически созданные объекты

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 

ответ

8

Я думаю, что вы хотите использовать многоточие, как это:

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

Смотрите here для получения дополнительной информации.

+0

Спасибо за обновление вашего ответа, я копал в Интернете, где я должен был поставить этот #doctest: + ELLIPSIS thingy (я думал, что использование носа делает его отличным от unitest);) –