为什么多个测试文件在并行运行时会导致Django问题?

bxpogfeg  于 2023-06-25  发布在  Go
关注(0)|答案(1)|浏览(104)

我在Windows上使用Django 4.1。按顺序运行我的测试(python manage.py test)工作正常。但是当我并行运行我的测试(python manage.py test --parallel)时,我得到以下错误

File "C:\Users\SomeGuy\miniconda3\envs\SomeProject\lib\multiprocessing\process.py", line 315, in _bootstrap
    self.run()
  File "C:\Users\SomeGuy\miniconda3\envs\SomeProject\lib\multiprocessing\process.py", line 108, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\SomeGuy\miniconda3\envs\SomeProject\lib\multiprocessing\pool.py", line 109, in worker
    initializer(*initargs)
  File "C:\Users\SomeGuy\miniconda3\envs\SomeProject\lib\site-packages\django\test\runner.py", line 420, in _init_worker
    process_setup(*process_setup_args)
TypeError: process_setup() missing 1 required positional argument: 'self'

我创建了一个项目,并在www.example.com旁边的主应用程序文件夹下为我的测试创建了一个名为“tests”的文件夹manage.py
我有两个测试文件
test_losing_hair.py:

from django.test import TestCase

class WhyTest(TestCase):

    def test_counting_scheme(self):
        self.assertTrue(True)

test_rapidly.py:

from django.test import TestCase

class WontThisWorkTest(TestCase):

    def test_counting_scheme(self):
        self.assertTrue(True)

我做错什么了吗?
我已经注意到,如果我选择一个文件或另一个文件,并行运行它就可以工作,但两者同时运行会产生上面的错误。

eqoofvh9

eqoofvh91#

看起来这是Django 4.1的一个已知bug,根据这个Ticket
你能把你的Django版本升级到4.2吗?或4.1.X,其中X是4.1中的最新值?

相关问题