首页 > 其他 > 详细

pytest使用-文火微烹pytest

时间:2021-02-16 10:10:25      阅读:25      评论:0      收藏:0      [点我收藏+]

pytest使用教程

参考文档:pytest中文文档

一、基本测试方法:

  1、指定目录下执行pytest,正常函数

    test_*.py文件会被默认测试

 

1 def playvoice(voice):
2     return "play "+voice
3 
4 def test_playvoice():
5     assert playvoice("audio") == "play audio"

  2、指定目录下执行pytest,测试类

 1 def play_one(one):
 2     return "==="+one
 3 def play_two(two):
 4     return two+150
 5 
 6 class TestClass(object):
 7     def test_play_one(self):
 8         assert play_one("one") == "===one"
 9     def test_play_two(self):
10         assert play_two(30) == 18

 

三、pytest 操作

  1、pytest默认规则

    1 文件/模块以test_, _test 起始或结尾

    2 类 以Test开始,不能带有init方法

    3 函数或方法以test开头。

  

  2、执行方法

    1 pytest.main()

      可以添加入参,详见本章第三小节

      调用格式如下:

import pytest
if __name__=="__main__": pytest.main(["-s"])

      作用范围,与之同级的符合pytest运行规则的所有文件,目录内文件。

        技术分享图片

 

          这里test_ail.py同级的cases_inter目录下的test_baidu.py内函数被执行了。

 

           因为自己文件名也是test_ail.py 所以图中右侧部分的test_print类中的方法也会被执行。

          也可以运行主函数时,函数所在文件命名为ail.py则其中的函数就不会执行了。

          我们也尝试了在cases_inter/test_baidu.py中加入pytest.main(),执行后,test_baidu外层的文件是不执行的,如test_ail.py文件没有执行。

     2 对应的命令行也可以执行

      在terminal中执行

        技术分享图片

 

 

  3、参数

    注意参数应该放在列表中写,pytest.main(["-s","test_baidu.py"])

    -s 是显示测试中的print打印

    -v 是显示测试用例的详细信息

    用双::来标定类名,文件/模块名,函数名(用例)。

      技术分享图片

        目录和文件之间用路径符号分割,注意/ 和 \

 

        模块名和 用例方法名用 ::双::分割

        文件中还是可以不在类中定义函数。如test_bd测试用例

          

def test_bd():
    print("===baidu inter")

class TestBaidu:
    def test_baidu(self):
        print("baidu")

  

 

    

pytest使用-文火微烹pytest

原文:https://www.cnblogs.com/lx63blog/p/13948481.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!