`
wx1568016009
  • 浏览: 23621 次
文章分类
社区版块
存档分类
最新评论

pytest,有没有兴趣了解一下

 
阅读更多

pytest是Python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。

它的优点:

简单的单元测试

复杂的功能测试

可以跳过你想跳过的那部分测试

可以扩展

..................



那首先来安装一下吧!

pip install -U pytest

那么pip将会自动帮你安装

当然如果你装好了,它也会提示你已经装了

640?wx_fmt=png

可以查看一下Version:

640?wx_fmt=png

下面我们就可以动手来试试咯。

执行测试的时候,我们只需要在测试文件test_sample所在的目录下,运行py.test即可。pytest会在当前的目录下,寻找以test开头的文件(即测试文件),找到测试文件之后,进入到测试文件中寻找test_开头的测试函数并执行。

创建一个测试文件test1.py

def fun(x):

      return x+1

def test_fun():

      assert fun(2)==2

之后就可以运行测试啦,终端输入py.test即可查看程序的具体情况。

640?wx_fmt=png



当需要编写多个测试样例的时候,我们可以将其放到一个测试类当中

640?wx_fmt=png

我们可以通过执行测试文件的方法,执行上面的测试:py.test -q testdemo.py


编写测试样例的时候我们可能要注意以下几点:

测试文件以test开头

测试类以Test开头,并且不能带有 __init__ 方法

测试函数以test_开头

断言使用assert


执行pytest测试样例的时候,我们是如何执行的呢?

最简单的,只要终端处于当前执行py测试文件的目录:

py.test

如果是在某个模块里运行pytest的话:

py.test test1.py

指定某个路径去运行:

py.test somepath

只去运行某个字符表达式里面的东西:

py.test -k stringexpression


最后一点,如何去生成测试报告:

pytest可以方便的生成测试报告,可以生成HTML的测试报告,或者xml格式的报告等等。

那我们现在来看看:


生成txt格式的报告:

py.test --resultlog=report.txt 

生成xml格式的报告:

py.test --junitxml=path/log.xml 


生成html格式的报告:(需要安装一下pip install -U pytest-html

py.test test_report.py --html=C:\Users\Desktop\log.html 




待续。。






640?wx_fmt=jpeg

分享到:
评论

相关推荐

    pytest测试框架基础篇

    适合要走自动化测试的朋友下载查看,pytest入门,任务是: 了解pytest测试框架的特点 掌握pytest基本使用 掌握pytest常用的场景 掌握pytest运行参数和配置方法 感兴趣的朋友多多支持

    PyPI 官网下载 | pytest-homeassistant-custom-component-0.4.8.tar.gz

    标题中的"PyPI 官网下载 | pytest-homeassistant-custom-component-0.4.8.tar.gz"揭示了这个压缩包来源于Python的包管理器PyPI(Python Package Index),它包含了一个名为`pytest-homeassistant-custom-component`...

    这是个宠物项目,有兴趣的看看

    宠物项目是一种特殊的软件开发活动,通常由个人或小团队出于兴趣、学习或创新目的而进行。这类项目不以商业利润为目标,而是为了满足个人爱好、提升技能或为社区提供服务。"LKFSL;ASL;AL;FASL;FSAL;FAS;FL;ASF;LF"这...

    精美的html文件

    【标题】:“精美的html文件”揭示了这个压缩包中包含的是一个精心设计的HTML页面,可能是一个网页模板或者一个示例网站的界面。...无论是网页设计师还是对网页制作感兴趣的人,都可以从这个文件中获得灵感和知识。

    基于Python兴趣班预约管理系统带vue前后端分离源码案例设计带视频演示.zip

    11. **测试**:项目可能包含单元测试和集成测试,使用Python的unittest或pytest框架,确保代码的正确性和稳定性。 通过学习和实践这个案例,你可以掌握从需求分析、设计、编码到测试和部署的完整流程,对于提升个人...

    Tavern:来自https的非官方分叉

    更轻松的API测试 Tavern是pytest插件,命令行工具和Python库,用于API的自动测试,具有基于YAML的简单,简洁和灵活的语法。 入门非常简单,并且高度可定制以进行复杂的测试。... 如果您有兴趣为该项目做贡献,

    bnbapi源码

    理解路由结构有助于了解API的功能布局。 5. **身份验证与授权**:为了保护用户数据安全,bnbapi可能采用了JWT(JSON Web Tokens)或OAuth2等机制进行身份验证和授权。这部分源码会涉及加密算法和权限控制逻辑。 6....

    深入了解python

    《深入了解Python》是一本专为已经有一定Python编程基础的开发者准备的书籍,旨在深化读者对Python语言的理解,提升编程技能。书中的内容广泛且深入,涵盖了Python的核心概念、高级特性以及实际应用。以下是对该书...

    AjtoAkaszto2_ajtoakaszto_源码.rar

    【标题】"AjtoAkaszto2_ajtoakaszto_源码.rar" 提供的是一个名为 "AjtoAkaszto2_ajtoakaszto" 的项目的源代码压缩包。从文件名来看,"AjtoAkaszto2" 可能是一个项目...如果你对项目有兴趣,建议按照这些步骤进行探索。

    pm.rar_PM

    这个压缩包可能是一个完整的教学资源,适合对驱动开发和测试感兴趣的开发者,尤其是那些希望了解如何在没有硬件设备的情况下进行驱动程序测试的人。通过学习和实践这个压缩包中的内容,用户可以提升自己在项目管理、...

    学习软件测试很好的课件

    在IT行业中,软件测试是一项至关重要的任务,它确保了产品的质量、稳定性和安全性。"学习软件测试很好的课件"这个...所以,如果你对软件测试感兴趣,不妨尝试一下这个课件,它可能会成为你职业生涯中的一块重要基石。

    python接口自动化02集

    在本资源中,"python接口自动化02集"是一系列关于使用Python进行接口自动化测试的教程,主要针对软件测试人员和对自动化测试有兴趣的开发者。这个视频课程可能是继第一集之后,深入讲解如何构建和执行接口自动化测试...

    megaloggerHD-20180418-源码.rar

    通常,这类文件是为开发者或者对编程感兴趣的人准备的,他们可以查看、学习甚至修改源代码,以理解软件的工作原理或定制功能。 【描述】"megaloggerHD-20180418-源码.rar" 的描述简单直接,表明这是一个包含源代码...

    QACodingChallenge

    质量检查编码挑战 质量检查候选人的编码和测试计划挑战 指示 将此仓库克隆到本地计算机 ... 我们有兴趣了解您的实际设计,编码和测试技能。 如果您有任何疑问,请通过电子邮件将其发送给向您发送挑战的人

    图书管理系统项目

    《图书管理系统项目》是一个非常适合初学者的编程实践项目,它涵盖了软件工程中常见的设计与实现环节,特别是对于那些想要入门编程或对数据库管理有兴趣的人群来说,这是一个很好的起点。在这个项目中,开发者将有...

    project202020-源码.rar

    此外,测试代码通常会与源码一起存在,可能在单独的目录下,如"tests"或"test",它们使用单元测试框架(如JUnit、pytest或Mocha)来验证代码的功能。对于大型项目,还可能存在持续集成/持续部署(CI/CD)的配置文件,...

    1015827892296634觅知网源码.zip

    【标题】"1015827892296634觅知网源码.zip" 提供的是一份与觅知网相关的源代码压缩包,它可能包含了觅知网平台运行的核心代码。...如果你对某个特定方面有更深入的兴趣,可以进一步查询或分析源代码。

    shohandcode

    【标题】"shohandcode" 暗示着这是一个关于 "showhand" 的编程项目,可能是某种软件、工具或游戏的源代码。"showhand" 这个词通常与扑克...如果你对游戏开发或特定编程语言有兴趣,这个项目会是一个很好的学习资源。

    source-archive_ink_moneycs3_源码.zip

    【标题】"source-archive_ink_moneycs3_源码.zip" 暗示这是一个包含源代码的压缩文件,其中的“ink”可能指的是Ink Engine,一个...如果你对Ink Engine或MoneyCS3项目感兴趣,建议先解压缩并探索源码以了解更多信息。

    Python-Coveragepy用于Python的代码覆盖率测量

    `coveragepy-master`这个压缩包很可能包含了`coverage.py`项目的源码,如果你对这个工具的实现原理感兴趣,可以深入研究源代码,了解其内部的工作机制,这对于提升Python测试技能非常有帮助。 总之,`coverage.py`...

Global site tag (gtag.js) - Google Analytics