TypeError:__ init __()最多需要2个参数(给定4个)

时间:2015-11-03 06:19:44

标签: python django testing

我在尝试运行django测试时收到错误消息 这是我的模型文件的代码

   class MountPoint(models.Model):
       name = models.CharField(max_length=100)
       backend = models.CharField(max_length=200,default=DEFAULT_BACKEND)
       path = models.CharField(max_length=300)

       def __unicode__(self):
           return self.name

这是我放入测试的课程

  class MountPoint(TestCase):
      def create_mountpoint(self):
          name = "test"
          backend = "test"
          path = user_root
          return MountPoint(name, backend, path)

      def test_mountpoint_creation(self):
          m = self.create_mountpoint()
          self.assertTrue(isinstance(m, MountPoint))
          self.assertEqual(m.__unicode(), m.name)

我收到的错误信息如下。它说我有比预期更多的投入。

追踪(最近一次通话):   文件" /Users/xihui/Documents/WebProgramming/django/ece264site/filesystem/tests.py",第18行,在test_mountpoint_creation中     m = self.create_mountpoint()   文件" /Users/xihui/Documents/WebProgramming/django/ece264site/filesystem/tests.py",第15行,在create_mountpoint中     返回MountPoint(名称,后端,路径) TypeError: init ()最多需要2个参数(给定4个)

在0.009s中进行1次测试

失败(错误= 1)

1 个答案:

答案 0 :(得分:1)

我认为你必须使用关键字args:

return MountPoint(name=name, backend=backend, path=path)