pytest实战演练

2024-09-02 20:12
文章标签 实战 pytest 演练

本文主要是介绍pytest实战演练,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pytest实战演练

pycharm常见操作
创建项目使用虚拟环境

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

创建文件夹的时候建议使用的创建方式

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 这样创建是因为python3.0版本之后导包无区别,之前版本导包会报错的
_init_.py文件中建议为空不写内容

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

_all_=[]的含义
  • 是将列表中的方法或变量或类暴漏出去便于使用的
  • 生效方法,当调用模块中使用 import * 时才生效

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

联动git使用

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

pytes实战2

#####测试代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-class Calc:def add(self, a, b):return a + bdef div(self, a, b):return a / b
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import unittestfrom pytest_exercise.python.calc import Calcclass TestCal(unittest.TestCase):def test_add_1(self):self.calc = Calc()result = self.calc.add(1, 2)self.assertEqual(3, result)if __name__ == '__main__':unittest.main()
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import unittestimport pytestfrom pytest_exercise.python.calc import Calcclass TestCal():def setup(self):self.calc = Calc()def test_add_1(self):result = self.calc.add(1, 2)print(result)assert 3 == resultdef test_div(self):self.calc = Calc()result = self.calc.div(2, 2)assert 1 == resultif __name__ == '__main__':pytest.main(["-vs", "test_pytest.py::TestCal::test_div"])
新特性,自定义变量后的数据类型提示格式
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# type:类星体是class Calc:def add(self, a: int, b: int) -> int:return a + bdef div(self, a, b):return a / b
pytest常用参数

#####pytest --collect-only

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

pytest按顺序执行
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import sys
import unittestimport pytestfrom pytest_exercise.python.calc import Calcclass TestCal():def setup(self):self.calc = Calc()@pytest.mark.run(order=2)def test_add_1(self):result = self.calc.add(1, 2)print(result)assert 3 == result@pytest.mark.run(order=1)def test_div(self):self.calc = Calc()result = self.calc.div(2, 2)assert 1 == resultif __name__ == '__main__':pytest.main(["-vs", "test_pytest.py::TestCal"])
pytest.ini文件的应用(修改匹配对应的测试用例的方法)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

导出依赖包

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

反射代码片段
#!/usr/bin/env python
# -*- coding: utf-8 -*-class Person:def __init__(self, name):self.name = namedef eat(self):print(f"{self.name} is eating")p = Person('jerry')print(hasattr(p, 'name'))
f = getattr(p, "eat")
f()

init__(self, name):
self.name = name

def eat(self):print(f"{self.name} is eating")

p = Person(‘jerry’)

print(hasattr(p, ‘name’))
f = getattr(p, “eat”)
f()

这篇关于pytest实战演练的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1130953

相关文章

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor

从入门到进阶讲解Python自动化Playwright实战指南

《从入门到进阶讲解Python自动化Playwright实战指南》Playwright是针对Python语言的纯自动化工具,它可以通过单个API自动执行Chromium,Firefox和WebKit... 目录Playwright 简介核心优势安装步骤观点与案例结合Playwright 核心功能从零开始学习

Java docx4j高效处理Word文档的实战指南

《Javadocx4j高效处理Word文档的实战指南》对于需要在Java应用程序中生成、修改或处理Word文档的开发者来说,docx4j是一个强大而专业的选择,下面我们就来看看docx4j的具体使用... 目录引言一、环境准备与基础配置1.1 Maven依赖配置1.2 初始化测试类二、增强版文档操作示例2.

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、