gpt4 book ai didi

django - 哪些Django TEST_RUNNER支持xunit xml和日志记录捕获?

转载 作者:行者123 更新时间:2023-12-03 13:54:56 27 4
gpt4 key购买 nike

我正在尝试建立一个新的django项目,并且已将TEST_RUNNER中的settings.py配置为django_nose.NoseTestSuiteRunner

我选择此测试运行程序是因为它似乎是我发现的唯一具有以下功能的测试程序:

  • 编写xunit xml测试报告
  • 捕获日志记录/标准输出,仅显示失败的测试。

  • 但是,我听说 Nose 无法保持,并且很难找到合适的替代品。据我所知,标准的测试运行程序不会捕获日志,也不会编写xunit(希望证明事实是错误的!)

    我像这样运行测试:
    python -m coverage run manage.py test --noinput
    python -m coverage report --include="app/*" --show-missing --fail-under=100
    python -m coverage xml --include="app/*" -o ./reports/coverage.xml

    与此相关的是settings.py:
    TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'

    而这个setup.cfg:
    [nosetests]
    verbosity=0
    with-xunit=1
    xunit-file=./reports/xunit.xml
    logging-clear-handlers=1

    最后两行是我在其他测试运行者中似乎找不到的真正多汁的地方。 Nose 捕获日志记录并清除其他日志记录处理程序(例如,在stdout上转储的处理程序),因此测试运行输出更加简洁(对于失败的测试,您只会看到日志记录)。

    在其他非django项目中,我通常使用 Nose 2,但django-nose2项目似乎已有6年历史,并且缺少python3支持?

    请让我知道哪个测试运行程序是django支持的“推荐”程序(例如最受欢迎的程序),谢谢。

    最佳答案

    我已经在unittest-xml-reporting上取得了成功:

    TEST_RUNNER = 'xmlrunner.extra.djangotestrunner.XMLTestRunner'

    https://github.com/xmlrunner/unittest-xml-reporting#django

    关于django - 哪些Django TEST_RUNNER支持xunit xml和日志记录捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46531947/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com