pytest自学第一期
开始自学pytest了,我并不想看网上的各种自学教程和文档,要看咱们今天就看pytest的官方文档,不会英语咱们就用翻译,看不懂原理咱们就翻源码,就人肉试错
学习一个技术,使用速成鸡的套路是一个办法,啃文档小火慢炖也是一个方法,我个人是打算了解pytest框架后集成seleium框架进行一个整体的自动化框架的搭建,一定会遇到一些需要我自己动手扩展才能实现的需求,这样的话速成鸡套路对未来来说肯定是会给我挖坑埋雷的,所以今天直接使用文档开淦
第一章:安装与启动
1.1:安装

1.2:简单启动
先看pytest文档的“HELLO WORLD”事例,简单的4行代码,及简单的运行命令


通过这个事例,我们虽然能简单看懂了这个小Demo,但是同样我们也会有几个问题:
1:我创建了同样的文件,但是不知道在哪里输入命令运行pytest?
回答:pychram的这里
但是我在cmd中使用同样命令无法运行,我不知道为什么,标红以后研究
2:我运行时没有传入任何目录,pytest如何找到我要运行的文件?
回答:首先要看你在哪个目录运行pytest命令,如果你只是运行了pytest这个命令,那么就会在你运行命令的目录中去寻找 所有以 test_*.py 和 *_test.py 命名的文件,所以该例子中你必须将测试py文件创建合适的命名。
3:pytest以什么方式寻找文件,会不会影响我的命名,会不会有不安全,不严谨的情况存在导致出现奇怪的事情?
回答:pytest的文件查找方式和方法查找方式遵循 Standard test discovery rules(标准测试发现原则)
标准测试发现原则,想扩展可以自行阅读:https://docs.pytest.org/en/stable/goodpractices.html#test-discovery

4:前面说过了pytest会查找全部符合名字的文件,那么pytest命令会运行多个文件?
回答:会运行找到的全部符合规则的文件,后续会学习如何控制运行自己想要运行的文件
5:该例子中有两个方法,pytest如何知道我要运行测试的方法?
回答:同样使用该查找方法,查找我们要测试的方法
6:为何该例子中,pytest 认定测试没有通过,并给出了 F 的测试结果,pytest是根据什么条件判断的?
回答:F代表没有通过
pytest通过 assert关键字进行测试结果的判定,assert 为true即通过,反之失败
如果测试的方法中没有 assert关键字进行判断,那么这个方法的测试便会通过,当然也可以使用多个assert关键字进行多次测试如下图:


通过这几个问题,对pytest有了一个比较基础的理解,接下来再继续慢慢学
1.3 pytest判断异常
前面提到了pytest可以使用assert关键字断言某一个结果的值是 True 还是 False 来判断测试结果
我们是否能判断某一个方法是否触发了某个异常呢?肯定是可以的

但是使用原来的assert断言模式其实也是可以实现的,只不过是麻烦一些,但是需要知道pytest提供了更方便的内置方法


1.5 class中运行多个测试用例
可以将多个测试用例放在一个class中,这样可以分用例查看各个用例的运行结果(所以不要在一个方法中使用多个assert的方法将创造多个用例,因为其中一个assert没过去其他的就不执行了,而且pytest提供了更简单的方法不是,如题)


注意,使用这样方法时,class(类名) 依然要遵循那个查找原则,且 T要大写
class test_c 找不到
class abc_c 找不到
class Ttest_c 找不到
class Testcc 可以
class Test_c 可以
class ss_Test 找不到
class Test 可以
1.6 为测试创建唯一的临时文件夹
我不知道这个有什么用。。。


第一期完,后续还有不懂的我了解后会自动补全,我肯定有错误地方的期望多多指出,继续学习
pytest自学第一期的更多相关文章
- pytest自学第二期
2.1 通过python解释器调用 pytest 我不知道有什么用:-) 以后就这样,如果有自己学过但是不知道的东西,就挂在那里晒着鞭尸,一直不会就一直鞭尸,直到自己参透了其中的道理再回到这里补全 在 ...
- 从零自学Hadoop(03):Linux准备上
阅读目录 序 检查列表 常用Linux命令 搭建环境 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sou ...
- 2019第一期《python测试开发》课程,10月13号开学
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...
- 聊一聊我在 B 站自学 Java 的经历吧
Hey guys ,这里是 cxuan,欢迎你收看我最新一期的文章. 这是一篇鸽了很久的文章...... 事情还要从上回说起...... 我爱 B 站! 这篇文章我汇总了 B 站上计算机基础(操作系统 ...
- 从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...
- 前端自学路线之js篇
上一篇我们讲了前端切图的学习路线,不知大家有没有收获.今天来聊聊前端工程师的核心技能之——JavaScript.js这门语言看似简单,但要做到入门.熟练以至于架构的程度,还是有一段路要走的,今天就来聊 ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 从零自学Hadoop系列索引
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 从零自学Hadoop(01):认识Hadoop ...
- 从零自学Hadoop(21):HBase数据模型相关操作下
阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
随机推荐
- springMVC入门(八)------拦截器
简介 springMVC拦截器针对处理器映射器进行拦截配置 如果在某个处理器映射器中配置拦截,经过该处理器映射器映射成功的Handler最终使用该拦截器 由于springMVC支持配置多个处理器映射器 ...
- 下载 golang.org/x 包出错不用代理的解决办法
原文链接:https://www.jianshu.com/p/6fe61053c8aa?utm_campaign=maleskine&utm_content=note&utm_medi ...
- 安卓手机没有twrp的情况,如何下刷入magisk并获得root权限.
安装adb工具 https://dl.google.com/android/repository/platform-tools_r29.0.6-windows.zip 从以上地址下载,然后解压到任意目 ...
- linux上的deepin-qq不能显示图片解决方法
在贴吧发现的一个方法 在终端输入以下命令,重新打开QQ即可 sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 sudo sysctl -w net.piv ...
- 匹配对象方法:group() 与 groups()
当在处理正则表达式的时候,除了正则表达式对象之外,还有另一个对象类型:匹配对象,即是成功调用match()或者search()所返回的对象. 匹配对象有两个主要方法:group() 和 groups( ...
- 【趣味设计模式系列】之【代理模式4--ASM框架解析】
1. 简介 ASM是assemble英文的简称,中文名为汇编,官方地址https://asm.ow2.io/,下面是官方的一段英文简介: ASM is an all purpose Java byte ...
- 详细了解JS Map,它和传统对象有什么区别?
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者.原文出处:https://www.codeproject.com/Articles/5278387/Under ...
- gson 处理null
1.定义null处理类 class StringConverter : JsonSerializer<String?>, JsonDeserializer<String?> { ...
- 尝试MatCap类型shader
听说MatCap能在低端机上做出很漂亮的pbr效果,就尝试了一下. MatCap全称MaterailCapture,里面存的是光照信息,通过法线的xy分量去采样matcap,得到在该方向法线的光照信息 ...
- Codeforces Round #571 (Div. 2)-D. Vus the Cossack and Numbers
Vus the Cossack has nn real numbers aiai. It is known that the sum of all numbers is equal to 00. He ...