赞
踩
一、如果不提供任何参数,那么pytest会在当前目录及子目录下寻找以test_开头或者以_test结尾的测试文件,且该文件中以test_开头或者_test开头结尾的测试函数
从图中我们可以看出,测试文件只有以test_开头或者以_test结尾的测试文件才会被执行,图中有5个测试文件,但是从执行结果可以看出只执行了4个文件,这4个文件的特点就是test_开头或者_test结尾的文件
二、当我们指定文件的时候,文件里面的函数又是怎么执行的呢?
A.当运行时指定测试文件的时候,此时目录一定要切换到允许的测试文件所在的目录,比如允许test_one.py,那该测试文件所在的目录即使ch1,切换到该目录后执行pytest test_one.py ,否则pytest搜索不到测试,不会执行.
B.执行测试文件里的函数的时候,会搜索以test_开头的测试函数执行,不符合此规则的函数不会被执行,上图中有2个函数符合此规则被执行,另一个count函数不会被执行
C.如果含有测试类,那么允许该测试文件时,会搜索类名以Test开头的类,执行下面的测试函数
可以看到测试类以Test开头时,运行pytest时会被执行,且该测试类中的函数命名也必须符合要求才会被执行,该例中就只执行了2个测试函数,因为有一个不符合命名规则
三、当一个测试类中含有多个测试用例,而又只需要运行一个测试用例时,又该如何处理呢
遇到此种情况,可按照如下格式处理,在测试文件后面添加::类名:函数名
按照测试文件,测试类,测试方法依次去寻找,切记,如果方法在测试类里面,要执行类里面的函数,必须按照上面所写,否则报错
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。