I'm having trouble debugging unit tests in pycharm. I can run them fine with my configuration but when I run the debugger I get the following error output:
Error Traceback (most recent call last): File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 59, in testPartExecutor yield File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/case.py", line 605, in run testMethod() File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 34, in testFailure raise self._exception ImportError: Failed to import test module: tests Traceback (most recent call last): File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 462, in _find_test_path package = self._get_module_from_name(name) File "/usr/local/Cellar/python3/3.6.4_2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name __import__(name) File "/Users/paymahn/solvvy/scheduler/tests/__init__.py", line 2, in import tests.test_setup_script File "/Users/paymahn/solvvy/scheduler/tests/test_setup_script.py", line 3, in import setup File "/Applications/PyCharm.app/Contents/helpers/pydev/setup.py", line 87, in data_files.append(('pydevd_attach_to_process', [os.path.join('pydevd_attach_to_process', f) for f in os.listdir('pydevd_attach_to_process') if accept_file(f)])) FileNotFoundError: [Errno 2] No such file or directory: 'pydevd_attach_to_process'
My directory structure is:
My unittest configuration is:
tests/test_setup_script.py
looks like:
import unittest import os import setup # the path to this file is scheduler/setup.py. This import may be breaking things class TestSetupScript(unittest.TestCase): def test_load_db_connection_valid_yaml_file(self): file_name = "valid-yaml.yml" with open(file_name, 'w') as file: file.write(""" test: hello world a = b """) yaml = setup.load_yaml_configuration(file_name) # I want to debug the line above, hence no assertions here
What does pydevd_attach_to_process
do and how can I make sure it's found during debugging? Is the problem not actually related to that file/directory being found?
pycharm-debug. egg file is located in root of your PyCharm installation directory. Copy it to the remote host and add it to Python path. And that's all!
Indeed, the failure occurs because the "import setup" in your code imports the setup module which is part of PyCharm's debugger runtime instead of your own setup module. The easiest fix to this is to rename your setup.py file to something else and to update the imports in your code accordingly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With