Python 为芹菜任务编写测试时出错

Python 为芹菜任务编写测试时出错,python,celery,pytest,Python,Celery,Pytest,我为芹菜编写了以下简单的最小单元测试类 import pytest @pytest.fixture def celery_config(): return { "broker_url": "redis://localhost:6379/0", "result_backend": "redis://localhost:6379/0" } @pytest.mark.celery(result_backend="redis://") class

我为芹菜编写了以下简单的最小单元测试类

import pytest


@pytest.fixture
def celery_config():
    return {
        "broker_url": "redis://localhost:6379/0",
        "result_backend": "redis://localhost:6379/0"
    }


@pytest.mark.celery(result_backend="redis://")
class GetHash:

    def test_some(self):
        pass

我有
芹菜4.3.0版和
PyTest及其插件,如下所示

pytest==5.1.1
pytest-black==0.3.7
pytest-cov==2.7.1
pytest-forked==1.0.2
pytest-runner==5.1
pytest-xdist==1.29.0
当尝试测试时,我得到以下错误

test_get_hash.py:12: in <module>
    @pytest.mark.celery(result_backend="redis://")
/home/work/.virtualenvs/dev_env/lib/python3.6/site-packages/_pytest/mark/structures.py:324: in __getattr__
    PytestUnknownMarkWarning,
E   pytest.PytestUnknownMarkWarning: Unknown pytest.mark.celery - is this a typo?
我需要为此安装一个特殊的插件来修复错误吗?

您看到的是一个警告,而不是错误,除非您需要。您可以忽略这一点,或者告诉pytest不要向您显示它们(使用
--禁用警告
),或者忽略此特定警告(使用
-W ignore::pytest.PytestUnknownMarkWarning

您还可以通过将其添加到
pytest.ini
文件中:

[pytest]
markers =
    celery(**overrides): override celery configuration for a test case
芹菜pytest插件将拾取您用标记进行的特定于测试的配置

这些警告是错误的,理想情况下芹菜项目应该包含在插件代码中。我有

我还做了芹菜的注册。这是合并后不久,所以将使上述过时

[pytest]
markers =
    celery(**overrides): override celery configuration for a test case