【发布时间】:2024-01-30 16:40:02
【问题描述】:
当我运行包含一些测试的文件(例如 python test_website_loads.py)时,测试运行完美并且没有问题,但是当我尝试测试套件时(例如 python test_suite .py),出现下一个错误:
from special_module.special_module_file import Special_Class
ModuleNotFoundError: No module named 'specialmodule'
我的目录如下:
test_suite.py
tests/
__init__.py
test_website_loads.py
special_module/
__init__.py
special_module_file.py
在我的 special_module_file 中,我有一个名为 Special_Class 的类,我在 test_website_loads.py 中将此类目录导入为:
from special_module.special_module_file import Special_Class
我的 test_suite.py 代码是:
import unittest
import HtmlTestRunner
from tests.test_website_loads import Test_Website_Loads
init_tests = unittest.TestLoader().loadTestsFromTestCase(Test_Website_Loads)
test_suite = unittest.TestSuite([
init_tests
])
runner = HtmlTestRunner.HTMLTestRunner(output='reports', report_title='Test Report')
runner.run(test_suite)
而我的 test_website_loads.py 代码是:
import unittest
import HtmlTestRunner
from special_module.special_module import Special_Class
class Test_Website_Loads(unittest.TestCase):
def setUp(self):
special = Special_Class()
def ...():
...
def tearDown():
...
if __name__ == "__main__":
unittest.main(
testRunner=HtmlTestRunner.HTMLTestRunner(output='init')
)
总之有 3 个文件(A、B、C)。 A调用B,B调用C。当我运行B时,它正确导入了C。但是在运行A时,B抛出ModuleNotFoundError。
【问题讨论】:
标签: python python-import