Python ModuleNotFoundError:没有名为';mysite.polls';在django教程中测试时
我正在django文档站点编写教程: 我遇到了以下问题: 尝试在我的应用程序上运行测试时(使用Pycharm commndline中的:Python ModuleNotFoundError:没有名为';mysite.polls';在django教程中测试时,python,django,testing,Python,Django,Testing,我正在django文档站点编写教程: 我遇到了以下问题: 尝试在我的应用程序上运行测试时(使用Pycharm commndline中的:py manage.py测试轮询) 我发现以下错误: > ImportError: Failed to import test module: mysite.polls Traceback > (most recent call last): File > "C:\Users\micha\Anaconda3\envs\Django
py manage.py测试轮询
)
我发现以下错误:
> ImportError: Failed to import test module: mysite.polls Traceback
> (most recent call last): File
> "C:\Users\micha\Anaconda3\envs\DjangoTutorial\lib\unittest\loader.py",
> line 470, in _find_test_path
> package = self._get_module_from_name(name) File "C:\Users\micha\Anaconda3\envs\DjangoTutorial\lib\unittest\loader.py",
> line 377, in _get_module_from_name
> __import__(name) ModuleNotFoundError: No module named 'mysite.polls'
我的项目的文件结构如下:
看起来测试单元会自动在“民意测验”前面添加“mysite”
我尝试的是:
我试图在django测试文档中查找答案。
我能找到的唯一解决方案是将命令更改为如下所示:
py manage.py test polls.tests
然后它正确地运行我的测试
就我所了解的django文档而言,django应该自动查找轮询中的每个“test*”文件,但在我的情况下,它找不到“polls”模块
您能告诉我为什么会发生这种情况吗?您的设置文件中是否包含了您的民意测验应用程序
已安装的应用程序?来自django文档:“测试发现基于unittest模块的内置测试发现。默认情况下,这将在当前工作目录下名为“Test*.py”的任何文件中发现测试。” 它表示当前工作目录,即manage.py所在的位置,您的测试位于polls文件夹中,这就是为什么需要polls.test
您还可以提供目录的路径,以发现该目录下的测试:./manage.py test polls/是的,我做了如下操作:
INSTALLED\u APPS=[#'polls',polls.apps.PollsConfig',django.contrib.admin',django.contrib.auth',django.contrib.contenttypes',django.contrib.sessions',django.contrib.messages',django.contrib.staticfiles',
]所以当我在/polls目录下工作时,命令'py../manage.py test polls'确实有效(所以使用double…)但是在/mysite目录下工作,命令“py manage.py test/polls”给出了一个旧错误。并且/polls在当前工作目录(/mysite)下,所以应该可以工作。不是吗?