【问题标题】:Indentation error in Django Unit TestingDjango单元测试中的缩进错误
【发布时间】:2014-05-14 00:04:36
【问题描述】:

我正在为我的 Django 项目使用单元测试。我在 test.py 中创建了下面的代码

from django.test import TestCase
from login.models import CustomUser
from django.utils import timezone
from django.core.urlresolvers import reverse


class LoginTest(TestCase):

def create_user(self, username = "test", password = "12345", emailadd = "testing101@testing101.com", user_privileges = 1, firstname = "Test", lastname = "Culinary"):
        return CustomUser.objects.create(username=username,password=password,emailadd=emailadd, user_privileges=user_privileges, firstname=firstname, lastname=lastname)

def test(self):
    w = self.create_user()
    self.assertTrue(isinstance(w, Whatever))
    self.assertEqual(w.__unicode__(), w.username)

但是当我进入 python manage.py 在终端测试,显示:

File "/Users/pshsssip/devproj/rrs/login/models.py", line 10
def create_user(self, username, password, emailadd, user_privileges):
                                                                    ^
IndentationError: unindent does not match any outer indentation level

这可能是什么问题?

编辑:代码已经缩进。 更新:发现问题。我一直在看错误的文件。很抱歉让你们感到困惑。我的错。

【问题讨论】:

  • 你在混合制表符和空格吗?一些文本编辑器不会正确显示,但你不会有一致的缩进

标签: python django unit-testing


【解决方案1】:

create_user 函数需要缩进,因此它位于 LoginTest 类中。

【讨论】:

  • 不,不是……再检查一遍。
【解决方案2】:

在类中,所有内容都必须缩进。您的函数 create_user()test() 都没有缩进。相反,请尝试以下代码:

from django.test import TestCase
from login.models import CustomUser
from django.utils import timezone
from django.core.urlresolvers import reverse


class LoginTest(TestCase):

    def create_user(self, username = "test", password = "12345", emailadd = "testing101@testing101.com", user_privileges = 1, firstname = "Test", lastname = "Culinary"):
        return CustomUser.objects.create(username=username,password=password,emailadd=emailadd, user_privileges=user_privileges, firstname=firstname, lastname=lastname)

    def test(self):
        w = self.create_user()
        self.assertTrue(isinstance(w, Whatever))
        self.assertEqual(w.__unicode__(), w.username)

【讨论】:

  • 怎么样?这没有多大意义......你是从 shell 运行它吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 1970-01-01
  • 2023-04-09
  • 2013-06-14
  • 1970-01-01
相关资源
最近更新 更多