pytest 是什么?
pytest是一个框架,使构建简单且可扩展的测试变得容易。
1、简单灵活,容易上手,文档丰富;
2、支持参数化,可以细粒度地控制要测试的测试用例;
3、能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
4、pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium)、pytest-html(完美html测试报告生成)、pytest-rerunfailures(失败case重复执行)、pytest-xdist(多CPU分发)等;
5、测试用例的skip和xfail处理;
6、可以很好的和CI工具结合,例如jenkins
创建第一个测试用例
def test_one(): # 命名:必须: test开头
a=5
assert a > 10 # 断言 a > 10
Terminal运行 : pytest *.py文件(文件命名以test开头或结尾)
def test_one(): # 命名:必须: test开头
a=15
assert a > 10
在一个类中分组多个测试
pytest将运行当前目录及其子目录中 test_*.py 或 *_test.py 形式的所有文件。
class TestClass:
def test_one(self):
x = "this"
assert "h" in x
def test_two(self):
x = "hello"
assert "g" in x
Terminal运行 : pytest *.py文件(文件命名以test开头或结尾)
结果:第一条通过,第二条失败