gpt4 book ai didi

python - 如何让 pytest 忽略名为 TestSomething 的类?

转载 作者:行者123 更新时间:2023-12-03 23:04:31 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Configure Pytest discovery to ignore class name

(5 个回答)


去年关闭。




我正在开发一种测试框架,该框架恰好具有名为 TestSomething 的类当然。我意识到我的测试失败了,因为 pytest 将这些类视为“我需要实例化和运行的东西!”,一旦导入。而这绝对行不通。

import pytest
from package import TestSomethingClass
是否可以直接从 pytest 测试文件中导入此类?或者我应该通过 fixture 间接使用它们吗?
同样的问题适用于异常,因为我需要做类似的事情
with pytest.raises(TestsSomethingError):

最佳答案

显式禁用
您可以允许 pytest 忽略这个特定的类,因为它以单词 Test 开头。 , 通过设置 __test__标志到 False在你的冲突类(class)中

class TestSomethingClass(object):
__test__ = False

def test_class_something(self, object):
pass
特征:https://github.com/pytest-dev/pytest/pull/1561

配置文件
我们也可以在您的 pytest.ini 中完全改变惯例。文件并忽略所有以 Example 开头的类名.但我不建议这样做,因为我们可能会在 future 遇到意想不到的后果。
#pytest.ini file
[pytest]
python_classes = !Example

Pytest 约定
  • 测试类外的前缀测试函数或方法
  • test 前缀的测试函数或方法中的 Test 前缀测试类(没有 init 方法)

  • 来源:https://docs.pytest.org/en/stable/customize.html

    关于python - 如何让 pytest 忽略名为 TestSomething 的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63430672/

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