Невозможно импортировать пользовательский модуль в тесты или основной сервер - PullRequest
0 голосов
/ 26 марта 2019

Я настраиваю модульные тесты и сервер Flask для тестирования некоторых интеграций моих компаний, т. Е. Проверки ключа API Virus Total, и у меня возникают проблемы с импортом некоторых модулей, которые я написал в сценарии.

# tests/vt.py

from src import VirusTotal
import os
import unittest

VirusTotal = VirusTotal()

# docker
# KEY = os.environ['VTAPIKEY']
# POISONKEY = os.environ['VTPOISONEDKEY']

# localhost disable when in docker
KEY = ${KEY}
POISONKEY = ${POISONKEY}


class RESTAPI(unittest.TestCase):
    """Test virus total endpoints."""

    def checkAPI(self):
        """Look into vtotal API."""
        response = VirusTotal.check_virus({"apikey": KEY})
        self.assertIs(response["result"], True)

    def poisonCheckAPI(self):
        """Look into sending bad data to vtotal API."""
        response = VirusTotal.check_virus(
            {"apikey": POISONKEY})
        self.assertIs(response["result"], False)

    def tearDown(self):
        """Run at end of test cases."""
        print("\n------- test is over -------\n")


if __name__ == "__main__":
    unittest.main()


Когда я запускаю Tox (Test Automation Tool) или обычные тесты не работает я получаю ошибку обратно из консоли приведены ниже.

# Error Message
Traceback (most recent call last):
  File "tests/vt.py", line 1, in <module>
    from src import VirusTotal
ModuleNotFoundError: No module named 'src'

Каталоги src и tests хранятся в проекте root и оба имеют внутри init .py файл вот тот, от src

# src/__init__.py
from src.vt import VirusTotal
...