pytest是基于unittest底层开发出来的,用有更高的灵活性,初学者,应先搞清楚pytest的基础用法,本文章做个pytest的初始用法总结
本文不讲解cmd运行和配置文件运行,主要讲解py中的运行
1.本章节学习要点:
pytest:怎么写一个testcase?
pytest:运行的机制是什么?有哪几种运行方法?
pytest:怎么写一个testcase?
pytest不想unittest需要编写类进行集成unittest.Testcase类才能编写一个testcase,pytest的用例编写的默认规则是:在模块中导入pytest,然后函数是以test开头的,或者是编写个类,类的名字是Test开头,类的函数名也要以test开头,pytest不管继承,只管函数名字是不是test开头!
注意点:
- 模块名(即文件名)必须以test_开头或者_test结尾
- 测试类必须以Test开头,并且不能有init方法
- 测试方法必须以test开头
实例:
#导入一个模块
import pytest
#编写第一个test_case
def test_01():
print("我是test_02得test_01得用例")
#编写个类,test开头
class test_demo():
#在类中编写test_case,这是类中的第1条用例
def test_01(self):
print("我是test_02得类得用例!")
怎么运行pytest?
pytest的运行分为:
1.pytest.man() 运行
2.在命令运行
pytest.main()实例:
pytest.main()会识别当前包下所有的test_case
import pytest
def test_01():
print("我是test_02得test_01得用例")
class test_demo():
def test_01(self):
print("我是test_02得类得用例!")
if __name__ == '__main__':
#pytest.main()会识别当前文件包下所有的test_case
pytest.main()
运行前配置运行用的解释器是python
进行运行
运行的结果:
pytest运行小结:pytest.main()函数运行,不管你是在哪个文件写的pytest.main(),只要运行,pytest都会去查找你这个包下面的所有文件的test_case
那如果我有两个包都是存放test_case用例怎么同时运行两个包的测试用例,那只需要把pytest.main()写在跟两个包同级的py文件下既可以
实例:
运行结果:
在以上例子中,明显没有看见print()的打印,如果想要打印出运行用例时详细的信息可以在pytest.main()加一些参数
指定包运行:
指定包下面的模块进行运行:
指定模块中的函数进行运行:
指定模块中的类进行运行:
指定模块中的类中的函数进行运行:
如果想要打印输出详细的信息可以加参数
-v:会打印是执行了哪条用例
-vs: