通过官方网站介绍我们可以了解到,pytest是一个非常成熟的全功能的python测试框架,主要有
以下几个特点:
1.直接使用pip命令安装
2.验证安装结果
3.在pytest测试框架中,要遵循以下约束:
pytest进行测试比较简单,我们来看一个实例:
这里我们定义了了两个测试函数,直接打印出结果,下面执行测试:
输出结果中显示执行了多少条案例、对应的测试模块、通过条数以及执行耗时。
pytest断言主要使用Python原生断言方法,主要有以下几种:
可以看到运行结果中明确指出了错误原因是"AssertionError",因为PHP不在str1中。
1.运行指定案例
2.运行当前文件夹包括子文件夹所有用例
3.运行指定文件夹(code目录下所有用例)
4.运行模块中指定用例(运行模块中test_add用例)
5.执行失败的最大次数
使用表达式"--maxfail=num"来实现( 注意:表达式中间不能存在空格 ),表示用例失败总数等于num 时停止运行。
6.错误信息在一行展示
在实际项目中如果有很多用例执行失败,查看报错信息将会很麻烦。使用"--tb=line"命令,可以很好解决这个问题。
本地写一个查询用户信息的接口,通过pytest来调用,并进行接口断言。
pytest是python中非常流行的ut测试框架,这个框架有多流行呢? 应该说现在比较新的开源项目基本都已经使用pytest用来写UT了,比如我们熟悉的 requests,ansible,flask, pypy 等库有兴趣的同学不妨去Github上看下对应的test目录下的测试文件,全部都是用pytest作为UT测试框架的。而且Pycharm,VSCode等IDE已经原生支持这个框架,只要在设置中将默认框架从unittest切换为pytest即可。并且这个框架在用户群体中也有非常高的评价,比如:当然这个框架除了作为ut测试框架以外,用来做BDD或者E2E测试也是完全没有问题的。比如接口测试框架HttpRunner3.0就是直接包了一层pytest外加一些拓展实现的。
笔者自己的经历来说,在接触pytest之前曾经在 cucumber,behave,robotframework 之间徘徊不定。直到发现了pytest这个框架以后,感觉就是duang~ 用起来各种流畅。下面来简单介绍框架提供的几个核心特点:
总的来说,笔者的感慨就是好的框架想要走的长远都需要在三个点上花功夫:
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!自动化测试框架主要分为以下几种,可以根据项目需要进行选择 1.模块化框架(test script modularity)。 2.函数库结构框架(test library architecture)。 3.关键字驱动测试框架(keyword-driven/table-driven testing)。 4.数据驱动测试框架(data-driven testing)。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!