Cómo importar el src desde el módulo de pruebas en python
Tengo una aplicación que me gustaría probar usandounittest
Pero tengo algunos problemas. Mi estructura de directorios es la siguiente:
<code>root_dir ├── src │ ├── cmds │ │ ├── baz.py │ │ ├── __init__.py │ │ └── bar.py │ └── foo.py └── tests ├── cmds.py └── __init__.py </code>
Quiero probar elbaz
ybar
módulos decmds
y estoy tratando de hacer
root_dir> python2.7 -m unittest tests.cmds
Pero entests.cmds
No puedo importar elcmds
paquete en misrc
dir.
¿Cómo puedo hacer que esto funcione?
Básicamente quiero probar la aplicación desderoot_dir
con elsrc
ytests
directorios por separado.
Traté de añadirsrc
asys.path
, pero cuando importocmds.baz
desdetests/cmds.py
Todavía tengo unAttributeError: 'module' object has no attribute 'cmds'
de unittest.
Editar: Mi importación ysys.path
declaración es:
<code>import sys sys.path.append('../src') from cmds.baz import about </code>
Y el rastreo:
<code>Traceback (most recent call last): File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/usr/lib/python2.7/unittest/__main__.py", line 12, in <module> main(module=None) File "/usr/lib/python2.7/unittest/main.py", line 94, in __init__ self.parseArgs(argv) File "/usr/lib/python2.7/unittest/main.py", line 149, in parseArgs self.createTests() File "/usr/lib/python2.7/unittest/main.py", line 158, in createTests self.module) File "/usr/lib/python2.7/unittest/loader.py", line 128, in loadTestsFromNames suites = [self.loadTestsFromName(name, module) for name in names] File "/usr/lib/python2.7/unittest/loader.py", line 100, in loadTestsFromName parent, obj = obj, getattr(obj, part) AttributeError: 'module' object has no attribute 'cmds' </code>