无法将自定义模块导入测试或主模块

2024-05-29 11:17:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在设置单元测试和一个Flask服务器来测试我公司的一些集成,即病毒总API密钥验证,我在导入我编写的一些模块时遇到了问题

# 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(测试自动化工具)或正常测试时 当我从控制台收到一个错误时,它不起作用 如下所示

# 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

Tags: keyfrompyimportselfsrcapios

热门问题