如何使pytest忽略名为TestSomething的类?

2024-06-26 17:55:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一种测试框架,它碰巧有一个名为TestSomething的类。我意识到我的测试失败了,因为pytest一导入就将这些类视为“需要实例化和运行的东西!”。这绝对行不通

import pytest
from package import TestSomethingClass

是否可以直接从pytest文件导入此类类?或者我应该通过固定装置间接地使用它们吗

同样的问题也适用于异常,因为我需要做如下操作

with pytest.raises(TestsSomethingError):

Tags: 文件实例fromimport框架packagepytestwith
1条回答
网友
1楼 · 发布于 2024-06-26 17:55:25

显式禁用

通过将冲突类中的__test__标志设置为False,您可以允许pytest忽略这个特定类,因为它从单词Test开始

class TestSomethingClass(object):
    __test__ = False

    def test_class_something(self, object):
        pass

功能:https://github.com/pytest-dev/pytest/pull/1561


配置文件

我们还可以在pytest.ini文件中完全更改约定,并忽略以Example开头的所有类名。但我不建议这样做,因为我们可能会遇到意想不到的后果

#pytest.ini file
[pytest]
python_classes = !Example

Pytest约定

  • 类外的测试前缀测试函数或方法

  • 测试前缀测试类内的测试前缀测试函数或方法(无init方法)

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

相关问题 更多 >