软件测试/测试开发|Pytest都有哪些命名规则?

举报
霍格沃兹测试开发 发表于 2024/01/04 18:52:42 2024/01/04
【摘要】 前言在使用Pytest进行测试时,良好的命名规范是编写清晰、易读和可维护的测试用例的重要组成部分。规范的命名使得测试用例的意图更加明确,便于团队成员理解和维护。本文就来给大家介绍一下pytest的命名规范。 Pytest命名规范测试文件命名测试脚本文件为python文件,此外文件名命名规则为test_.py或者_test.py格式的文件,如下列均为符合pytest要求的测试文件命名规范:t...

image.png

前言

在使用Pytest进行测试时,良好的命名规范是编写清晰、易读和可维护的测试用例的重要组成部分。规范的命名使得测试用例的意图更加明确,便于团队成员理解和维护。本文就来给大家介绍一下pytest的命名规范。

Pytest命名规范

测试文件命名

测试脚本文件为python文件,此外文件名命名规则为test_.py或者_test.py格式的文件,如下列均为符合pytest要求的测试文件命名规范:

test_demo.py
test_01.py
test_.py
demo_test.py
01_test.py
_test.py

不符合测试文件命名规则的如下:

test.py
testdemo.py
Test_demo.py
TestDemo.py
Test_.py
Demo_Test.py
_Test.py
Test.py
Demo.py

测试函数测试类名默认命名规则

在测试脚本中,测试函数又分为两类,一种是直接定义在测试文件中的,比如如下:

def test_func():
	assert 1==1

另一种则是使用类组织的在类内的测试函数,比如如下:

class TestDemo:
	def test_func():
		assert 1==1

测试类和测试函数命名规则总结为如下规则:

  • 测试函数名必须以test开头
  • 测试类名必须以Test开头
  • 测试类中不能有__init__(self)方法

比如如下的测试函数均为符合pytest规则的测试函数:

def test_demo():
    assert 1==1

def testdemo():
    assert 1==1

def test():
    assert 1==1

def test_():
    assert 1==1

而如下测试函数则均为不符合pytest规则的函数,即不会被pytest发现。

def demo_test():
    assert 1==1

def demotest():
    assert 1==1

def _test():
    assert 1==1

def Test():
    assert 1==1

def Test_Demo():
    assert 1==1

def TestDemo():
    assert 1==1

def DemoTest():
    assert 1==1

而对于使用类组织的测试函数,首先类必须满足要求,即类型以Test开头,并且类中没有__init__方法,然后类中的测试函数名再符合测试函数的命名规则即以test开头时,才会被认为是测试脚本,如下:

class TestDemo:
    def test_demo(self):
        assert 1==1

class Test:
    def test_demo(self):
        assert 1==1

如果类名不是以Test开头或者类名以Test开头但是类中有__init__方法时,不论类中的测试函数名是否符合pytest要求的规则,均不会被pytest识别。

总结

本文主要介绍了pytest的命名规则,pytest的命名规则非常重要,需要我们牢记命名规则,这样才能更好地使用pytest来执行测试,我们还需要记住一点,测试类中不能含有__init__方法。希望本文能够帮到大家!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。