Why not being able to call modules from lib folder into test folder although I have __init__.py file both?
Arup Rakshit
ar at zeit.io
Thu Apr 25 03:44:45 EDT 2019
I am not able to call modules from lib folder in my test folder, but outside of tests folder I can access them. How should I fix this?
Mocks$ tree .
.
├── lib
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-37.pyc
│ │ └── product.cpython-37.pyc
│ └── product.py
└── tests
├── __init__.py
└── product_test.py
3 directories, 6 files
Mocks$ python3
Python 3.7.3 (default, Mar 27 2019, 09:23:15)
[Clang 10.0.1 (clang-1001.0.46.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from lib.product import ProductionKlass
>>> ProductionKlass()
<lib.product.ProductionKlass object at 0x10d5f2128>
>>> exit()
Mocks$ python3 tests/product_test.py
Traceback (most recent call last):
File "tests/product_test.py", line 4, in <module>
from lib.product import ProductionKlass
ModuleNotFoundError: No module named 'lib'
Mocks$
The file product_test.py has content like:
from unittest import mock
import unittest
from lib.product import ProductionKlass
class TesProductKlass(unittest.TestCase):
def setUp(self):
self.real = ProductionKlass()
self.real.something = mock.MagicMock()
def test_method(self):
self.real.method()
self.real.something.assert_called_once_with(1, 2, 3)
if __file__ == "__main__":
unittest.main()
Thanks,
Arup Rakshit
ar at zeit.io
More information about the Python-list
mailing list