Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Doctest for dynamically created objects

What is the best way to test code like this (the one below obviously fails while object is created in different block every time):

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
like image 208
Piotr Byzia Avatar asked Oct 16 '25 15:10

Piotr Byzia


1 Answers

I think you want to use ellipsis, like this:

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

See here for more info.

like image 55
DNS Avatar answered Oct 19 '25 03:10

DNS



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!