在pytest中,可以使用通配符来自动收集匹配多个不同模式的文件名。通配符是一种模式匹配的方法,可以用来匹配文件名或路径名中的字符。
pytest提供了两种通配符来匹配文件名:*
和?
。
*
通配符可以匹配任意长度的字符,包括0个字符。例如,如果你想匹配所有以test_
开头的文件名,可以使用test_*.py
作为通配符模式。?
通配符可以匹配单个字符。例如,如果你想匹配所有以test_
开头,以.py
结尾的文件名,可以使用test_?.py
作为通配符模式。除了通配符,pytest还支持使用正则表达式来匹配文件名。你可以使用pytest.mark.parametrize
装饰器结合正则表达式来指定多个不同模式的文件名。
下面是一个示例:
import pytest
import re
@pytest.mark.parametrize("filename", [
"test_abc.py",
"test_xyz.py",
"test_123.py",
])
def test_example(filename):
assert re.match(r"test_\w+\.py", filename)
在上面的示例中,pytest.mark.parametrize
装饰器指定了三个不同的文件名模式。re.match
函数使用正则表达式test_\w+\.py
来匹配文件名,确保文件名以test_
开头,以.py
结尾,并且中间可以是任意长度的字母、数字或下划线。
这样,当你运行pytest时,它会自动收集并执行匹配这些模式的测试用例文件。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云