Python Django REST单元测试TypeError:\uuuu init\uuuuu()接受1个位置参数,但给出了2个

Python Django REST单元测试TypeError:\uuuu init\uuuuu()接受1个位置参数,但给出了2个,python,django,Python,Django,我使用命令$python manage.py test启动以下代码,并返回错误: TypeError: __init__() takes 1 positional argument but 2 were given 据我所知,我只是将self传递给\uuuu init\uuu>方法,这个附加参数来自哪里?我已经检查了这里的多个答案并查看了答案,但似乎找不到我的错误 这是什么原因造成的 代码: 全端输出: Traceback (most recent call last): File "mana

我使用命令
$python manage.py test
启动以下代码,并返回错误:

TypeError: __init__() takes 1 positional argument but 2 were given
据我所知,我只是将
self
传递给
\uuuu init\uuu>方法
,这个附加参数来自哪里?我已经检查了这里的多个答案并查看了答案,但似乎找不到我的错误

这是什么原因造成的

代码:

全端输出:

Traceback (most recent call last):
File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/commands/test.py", line 26, in run_from_argv
    super().run_from_argv(argv)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
    self.execute(*args, **cmd_options)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute
    output = self.handle(*args, **options)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/commands/test.py", line 56, in handle
    failures = test_runner.run_tests(test_labels)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/test/runner.py", line 603, in run_tests
    suite = self.build_suite(test_labels, extra_tests)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/test/runner.py", line 514, in build_suite
    tests = self.test_loader.discover(start_dir=label, **kwargs)
File "/usr/lib/python3.6/unittest/loader.py", line 341, in discover
    tests = list(self._find_tests(start_dir, pattern))
File "/usr/lib/python3.6/unittest/loader.py", line 406, in _find_tests
    yield from self._find_tests(full_path, pattern, namespace)
File "/usr/lib/python3.6/unittest/loader.py", line 406, in _find_tests
    yield from self._find_tests(full_path, pattern, namespace)
File "/usr/lib/python3.6/unittest/loader.py", line 398, in _find_tests
    full_path, pattern, namespace)
File "/usr/lib/python3.6/unittest/loader.py", line 452, in _find_test_path
    return self.loadTestsFromModule(module, pattern=pattern), False
File "/usr/lib/python3.6/unittest/loader.py", line 123, in loadTestsFromModule
    tests.append(self.loadTestsFromTestCase(obj))
File "/usr/lib/python3.6/unittest/loader.py", line 92, in loadTestsFromTestCase
    loaded_suite = self.suiteClass(map(testCaseClass, testCaseNames))
File "/usr/lib/python3.6/unittest/suite.py", line 24, in __init__
    self.addTests(tests)
File "/usr/lib/python3.6/unittest/suite.py", line 57, in addTests
    for test in tests:
TypeError: __init__() takes 1 positional argument but 2 were given
回溯(最近一次呼叫最后一次):
文件“manage.py”,第15行,在
从命令行(sys.argv)执行命令
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site packages/django/core/management/\uuuuu init\uuuuuuuuuuuuuu.py”,第381行,从命令行执行
utility.execute()
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site packages/django/core/management/\uuuuuu init\uuuuuuuuu.py”,执行中第375行
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site packages/django/core/management/commands/test.py”,第26行,从_argv运行
super()。从_argv(argv)运行_
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/base.py”,第316行,从
self.execute(*args,**cmd_选项)
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site packages/django/core/management/base.py”,第353行,在execute中
输出=self.handle(*args,**选项)
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site packages/django/core/management/commands/test.py”,第56行,在handle中
失败=测试运行程序。运行测试(测试标签)
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site packages/django/test/runner.py”,第603行,运行测试中
suite=self.build\u suite(测试标签、额外测试)
文件“/home/tompreston/.python\u virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site packages/django/test/runner.py”,第514行,在构建套件中
tests=self.test\u loader.discover(start\u dir=label,**kwargs)
文件“/usr/lib/python3.6/unittest/loader.py”,第341行,在discover中
测试=列表(自查找测试(开始目录,模式))
文件“/usr/lib/python3.6/unittest/loader.py”,第406行,在“查找”测试中
从self.\u find\u测试中获得收益(完整路径、模式、命名空间)
文件“/usr/lib/python3.6/unittest/loader.py”,第406行,在“查找”测试中
从self.\u find\u测试中获得收益(完整路径、模式、命名空间)
文件“/usr/lib/python3.6/unittest/loader.py”,第398行,在“查找”测试中
完整路径、模式、命名空间)
文件“/usr/lib/python3.6/unittest/loader.py”,第452行,在查找测试路径中
返回self.loadTestsFromModule(module,pattern=pattern),False
loadTestsFromModule中的文件“/usr/lib/python3.6/unittest/loader.py”,第123行
tests.append(self.loadTestsFromTestCase(obj))
loadTestsFromTestCase中的文件“/usr/lib/python3.6/unittest/loader.py”,第92行
loaded_suite=self.suiteClass(映射(testCaseClass,testCaseNames))
文件“/usr/lib/python3.6/unittest/suite.py”,第24行,在__
self.addTests(测试)
addTests中的文件“/usr/lib/python3.6/unittest/suite.py”,第57行
对于测试中的测试:
TypeError:\uuuu init\uuuuuu()接受1个位置参数,但提供了2个

不要覆盖
TestCase
\uuuu init\uuuuu
方法来在数据库中设置测试数据。改用


不要覆盖
TestCase
\uuuuu init\uuuu
方法来在数据库中设置测试数据。改用


B-e-a-utiful!谢谢你!谢谢
Traceback (most recent call last):
File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line
    utility.execute()
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/commands/test.py", line 26, in run_from_argv
    super().run_from_argv(argv)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/base.py", line 316, in run_from_argv
    self.execute(*args, **cmd_options)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/base.py", line 353, in execute
    output = self.handle(*args, **options)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/core/management/commands/test.py", line 56, in handle
    failures = test_runner.run_tests(test_labels)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/test/runner.py", line 603, in run_tests
    suite = self.build_suite(test_labels, extra_tests)
File "/home/tompreston/.python_virtualenvs/lagoon-back-end-K1-2r-Ad/lib/python3.6/site-packages/django/test/runner.py", line 514, in build_suite
    tests = self.test_loader.discover(start_dir=label, **kwargs)
File "/usr/lib/python3.6/unittest/loader.py", line 341, in discover
    tests = list(self._find_tests(start_dir, pattern))
File "/usr/lib/python3.6/unittest/loader.py", line 406, in _find_tests
    yield from self._find_tests(full_path, pattern, namespace)
File "/usr/lib/python3.6/unittest/loader.py", line 406, in _find_tests
    yield from self._find_tests(full_path, pattern, namespace)
File "/usr/lib/python3.6/unittest/loader.py", line 398, in _find_tests
    full_path, pattern, namespace)
File "/usr/lib/python3.6/unittest/loader.py", line 452, in _find_test_path
    return self.loadTestsFromModule(module, pattern=pattern), False
File "/usr/lib/python3.6/unittest/loader.py", line 123, in loadTestsFromModule
    tests.append(self.loadTestsFromTestCase(obj))
File "/usr/lib/python3.6/unittest/loader.py", line 92, in loadTestsFromTestCase
    loaded_suite = self.suiteClass(map(testCaseClass, testCaseNames))
File "/usr/lib/python3.6/unittest/suite.py", line 24, in __init__
    self.addTests(tests)
File "/usr/lib/python3.6/unittest/suite.py", line 57, in addTests
    for test in tests:
TypeError: __init__() takes 1 positional argument but 2 were given
def setUp(self):
    user_name = 'boris_the_blade'
    password = 'boris_the_sneaky_russian'
    self.client = Client()  # Django's TestCase already sets self.client so this line isn't required
    self.login_status = self.createUserAndLogin(user_name, password)