Ben Whitely
Ben Whitely

Reputation: 59

Python unittest - ModuleNotFoundError

trying to get these unittest scripts to run, but on each of them I get the ModuleNotFoundError listed in the title. Specifically, all 3 return

'No module named 'pan_tilt_unit''

I am running this application in a Docker container.

The structure of my project is:

src/
    pan_tilt_unit/
        __init__.py
        device_handler/
            __init__.py
            other_files.py
        messages/
        mqtt/
    tests/
        test1.py
        test2.py
        test3.py
    run.py

And in a test.py file for example I have at the top:

from unittest import TestCase, main
from typing import List
from pan_tilt_unit.device_handler import *

And it fails on the third import statement. Does not matter if I run the file locally or inside the container itself, I always get this error.

Things I have tried:

I am running an individual test file using the command

python3 -m unittest <filename>.py

Upvotes: 1

Views: 5348

Answers (1)

Tzane
Tzane

Reputation: 3472

You need to run the unittest command from inside src/ like: python3 -m unittest ./tests/<filename>.py or add pan_tilt_unit to pythonpath when running tests from inside the tests folder. I'd go with the former.

Upvotes: 2

Related Questions