前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >软件测试/测试开发|Pytest都有哪些命名规则?

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

原创
作者头像
霍格沃兹测试开发Muller老师
发布2024-01-04 18:53:07
1150
发布2024-01-04 18:53:07
举报

前言

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

Pytest命名规范

测试文件命名

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

代码语言:python
复制
test_demo.py
test_01.py
test_.py
demo_test.py
01_test.py
_test.py

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

代码语言:python
复制
test.py
testdemo.py
Test_demo.py
TestDemo.py
Test_.py
Demo_Test.py
_Test.py
Test.py
Demo.py

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

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

代码语言:python
复制
def test_func():
	assert 1==1

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

代码语言:python
复制
class TestDemo:
	def test_func():
		assert 1==1

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

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

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

代码语言:python
复制
def test_demo():
    assert 1==1

def testdemo():
    assert 1==1

def test():
    assert 1==1

def test_():
    assert 1==1

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

代码语言:python
复制
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开头时,才会被认为是测试脚本,如下:

代码语言:python
复制
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__方法。希望本文能够帮到大家!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • Pytest命名规范
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com