gpt4 book ai didi

python - Django 测试 - 导入错误 : Start directory is not importable

转载 作者:行者123 更新时间:2023-11-30 23:20:59 25 4
gpt4 key购买 nike

我试图对一段代码进行一些测试,但出现导入错误:开始目录不可导入。下面是我的代码。如果有人可以提供帮助,我将非常感激。我正在使用 Python 2.7.5 和 pycharm。

这是我在 virenv 中执行的命令

manage.py test /project/tests.py

from django.test import TestCase

# Create your tests here.
from project.models import Projects
from signup.models import SignUp


class ProjectTestCase(TestCase):

def SetUp(self):
super(ProjectTestCase,self).SetUp()
self.john = SignUp.objects.get(email='john@john.com')
self.project = Projects.objects.get(pk=1)


def test_project_permission(self):


self.assertFalse(self.john.has_perm('delete',self.project))
self.assertTrue(self.john.has_perm('view',self.project))
self.assertTrue(self.john.has_perm('change',self.project))

最佳答案

  1. 您应该验证项目目录中是否有 __init__.py(它可以是空文件)
  2. 您没有正确调用 test。假设您有一个名为project的应用程序,则在该应用程序中调用测试的方法是manage.py测试项目

[编辑其他评论,这确实进入了单独的问题领域]

我建议将其添加到settings.py(在底部)

import sys
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
SOUTH_TESTS_MIGRATE = False

这个:

A.将使用 sqlite (某种程度上,我不确定它实际上是 sqlite 还是像 sqlite 一样工作的内存数据库)...如果我使用 postgres 并且我试图让我的权限不要过于自由,我会注意到问题而且我已经中止了测试)

B.禁用向南迁移(因此它将从根据当前模型构建的干净数据库开始)

关于python - Django 测试 - 导入错误 : Start directory is not importable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25142923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com