我正在为django app编写自定义测试运行器。在django app文件夹中,我有一个像
这样的文件夹但是当我尝试运行测试时出现错误:
ERROR: AdminLoginTest (unittest.loader.ModuleImportFailure)
----------------------------------------------------------------------
ImportError: Failed to import test module: AdminLoginTest
Traceback (most recent call last):
File "D:\\python27\lib\unittest\loader.py", line 252, in _find_tests
module = self._get_module_from_name(name)
File "D:\\python27\lib\unittest\loader.py", line 230, in _get_module_f
rom_name
__import__(name)
File "D:\\selenium_tests\tests\admin_panel\AdminLoginTest.py",
line 1, in <module>
from selenium_tests.SeleniumTestCase import SeleniumTestCase
ImportError: No module named selenium_tests.SeleniumTestCase
在SeleniumTestCase中我得到了这样的话:
class SeleniumTestCase(TestCase):
body
我认为包装没有我的跑步者是错的。 感谢您提前提供任何帮助。
答案 0 :(得分:0)
它不起作用,因为如果我是对的,你作为脚本(通过运行单元测试)运行文件AdminLoginTest.py
。运行此脚本时,python解释器无法访问selenium_tests
。
一种解决方案是使用相对导入,即
from ..selenium_tests.SeleniumTestCase import SeleniumTestCase
但是,这不会起作用,因为您将文件AdminLoginTest.py
作为脚本运行。仅当文件AdminLoginTest.py
作为模块导入时,您才能使用相对导入。
我建议更改目录的结构,将unittests作为顶级目录,将所有其他类作为低级目录。然后导入就可以了。