当前位置:首页 >> 编程语言 >> 【Python基础】常用模块学习:sys-os-pytest,绿箭广告歌曲(绿箭广告rhythm of the rain)

【Python基础】常用模块学习:sys-os-pytest,绿箭广告歌曲(绿箭广告rhythm of the rain)

0evadmin 编程语言 1
文件名:【Python基础】常用模块学习:sys-os-pytest,绿箭广告歌曲 【Python基础】常用模块学习:sys|os|pytest

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉 📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处

文章目录 一、sys模块二、os模块三、pytest模块3.1 @pytest.mark的作用3.2 打标签的方法3.3 注册标签名3.4 @pytest.mark的使用3.5 扩展:通过命令行执行


一、sys模块

✍根目录:根目录(Root Directory)是指文件系统中的最顶层目录。在不同的操作系统中,根目录的表示方式会有所不同。 在Windows操作系统中,根目录通常表示为盘符加上反斜杠(\),例如C:\表示C盘的根目录。 在类Unix操作系统(如Linux、Mac等)中,根目录表示为单个正斜杠(/)。例如/表示根目录。

✍工作目录:工作目录(Working Directory),也被称为当前工作目录或当前目录,是指当前用户正在进行操作的目录。它是文件系统中的一个概念,表示用户当前所在的目录路径。

在不同的操作系统中,获取和设置当前工作目录的方法略有不同: ✍ 在Unix/Linux系统中,可以使用pwd命令来查看当前工作目录,并使用cd命令来修改当前工作目录。 ✍ 在Windows系统中,可以使用cd命令来查看和修改当前工作目录。例如,cd命令会将当前工作目录更改为用户的主目录,而cd …命令会将当前工作目录更改为上一级目录。

二、os模块

os.path.abspath(file) os.path.abspath(file) 作用: 获取当前脚本的完整路径

import osprint(os.path.abspath(__file__) ) 三、pytest模块 3.1 @pytest.mark的作用

@pytest.mark的作用: pytest提供了一个非常好用的mark功能,可以给测试用例打上各种各样的标签,运行用例时可以指定运行某个标签。mark功能作用就是灵活的管理和运行测试用例。 搭配pytest.main函数一起使用才更棒哦!

所谓pytest.main函数是pytest框架中的一个重要函数,用于执行测试用例。

此外,同一测试类/方法可同时拥有多个标记;

3.2 打标签的方法

打标签的方法:标签既可以打到方法上,也可以打到类上, 1、直接标记类或方法或函数:@pytest.mark.标签名 2、类属性:pytestmark = [pytest.mark.标签名, pytest.mark.标签名],需要注意的是属性名称是固定的

3.3 注册标签名

​ 要想运行已经打好标记的函数,还需要对标签名进行注册,告诉pytest有哪些标签,如果不进行注册运行时(pytest的高级版本)可能会报警告让你进行注册。​ 我们只需要在项目根目录下创建一个pytest.ini文件,注意文件名是不可修改的,否则pytest会找不到。内容格式如下:

[pytest]# 注册标签markers =test_additiontest_subtractiontest_payment

3.4 @pytest.mark的使用

主要是通过代码执行相关代码,来实现对@pytest.mark的使用。主要包括三个文件,其中文件3可以与文件2合并,具体如下: 文件1:文件名规定为pytest.ini,利于解释器的检索。用于注册标签名,具体用法请看上一小节。 文件2:含有被标记的用例的.py文件,用于main.py文件调用并执行被标记的用例。 在被标记的用例上边加入以@pytest.mark开头的标签,标签名没有什么限制,最好跟函数名一致,便于代码的阅读。例如:

import pytest@pytest.mark.test_additiondef test_addition():# 用于测试加法功能的测试用例print("加法")pass@pytest.mark.test_subtractiondef test_subtraction():# 用于测试减法功能的测试用例print("减法")pass@pytest.mark.test_paymentdef test_payment():# 用于测试支付功能的测试用例print("支付")pass

文件3:含有pytest.main()函数的文件,姑且命名为main.py,用过运行该文件来执行代码。其中必备代码如下:

import pytestif __name__ == '__main__':pytest.main(['-s', '-m', 'test_addition'])

参数“-s”:意味着输出结果要打印出详细的信息。 参数“-m”:意味着执行指定标记的函数或是类等。 运行后只执行标记为test_addition的函数,而其他两个没有被执行。 pytest.main([‘-svx’, os.path.abspath(file)]):运行本路径下python文件,即当前所在文件的所有用例。 具体代码如下:

import pytestimport osif __name__ == '__main__':pytest.main(['-svx', os.path.abspath(__file__)])

3.5 扩展:通过命令行执行

​ 单个标签:pytest -m “标签名” (-m意思是执行标签mark),不想执行某个标签可以用not来取反,即pytest -m “not 标签名”

​ 多个标签:可以加上判断,pytest -m “qc and beta” 或者 pytest -m “qc or beta” 效果是一样的

​ 注意:标签名一定要加双引号,单引号是会报错的。

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接