写点什么

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

  • 2024-01-05
    北京
  • 本文字数:998 字

    阅读完需:约 3 分钟

前言

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

Pytest 命名规范

测试文件命名


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


test_demo.pytest_01.pytest_.pydemo_test.py01_test.py_test.py
复制代码


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


test.pytestdemo.pyTest_demo.pyTestDemo.pyTest_.pyDemo_Test.py_Test.pyTest.pyDemo.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__方法。希望本文能够帮到大家!


获取更多技术资料,请点击!


用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试/测试开发/全日制|Pytest都有哪些命名规则?_霍格沃兹测试开发学社_InfoQ写作社区