软件测试系列Pytest用例执行顺序
只有一个py文件
如果测试case只存在于单个。py文件,测试case默认从上到下执行。
可以使用pytestordering来控用例执行顺序。pytest。mark。run(order3)deftest01():print(test01)time。sleep(1。0)pytest。mark。run(order2)deftesttwo():print(testtwo)time。sleep(10)pytest。mark。run(order1)deftestregin():print(用例testregin)time。sleep(1。5)存在多个py文件
1、如果测试case存在于多个。py文件中,默认是按照文件名的ascii码顺序执行,进入文件后,默认按照从上到下顺序执行每个测试用例。testuser。py用户相关classTestUser:deftestusercreate:deftestuserlogin:deftestuserdeletetestorder。py订单相关classTestOrder:deftestordercreate:deftestorderlist:deftestorderdeleteteststock。py库存相关classTestStock:defteststockadd:defteststocklist:defteststockreduce
1)按照文件名ascii排序:testorderteststocktestuser
2)testordercreatetestorderlisttestorderdeleteteststockaddteststocklist
2、如果单个。py测试文件中使用了pytestorder插件,那么该文件中添加了order的测试用例将会最先执行,没添加的将会按照1的顺序执行,这样就会出现测试用例的顺序在多文件中交叉执行的现象。(所以单个。py文件在使用pytestorder插件的情况下,建议每个case都带上orderx,且x不要相同)testuser。py用户相关classTestUser:pytest。mark。run(order1)deftestusercreate:deftestuserlogin:pytest。mark。run(order2)deftestuserdeletetestorder。py订单相关classTestOrder:deftestordercreate:deftestorderlist:deftestorderdeleteteststock。py库存相关classTestStock:defteststockadd:defteststocklist:defteststockreduce
1)由于testuser文件中的case使用了pytestorder插件,所以优先执行使用了order排序的case
2)testusercreatetestuserdeletetestordercreateteststockaddtestuserdelete
3、如果多个。py文件使用了pytestorder插件,如每个order指定的顺序不冲突,按照order指定的顺序执行,如果有冲突,就会出现在多个。py文件中交叉执行,不符合预期的情况。testuser。py用户相关classTestUser:pytest。mark。run(order1)deftestusercreate:deftestuserlogin:pytest。mark。run(order2)deftestuserdeletetestorder。py订单相关classTestOrder:deftestordercreate:deftestorderlist:deftestorderdeleteteststock。py库存相关classTestStock:pytest。mark。run(order1)defteststockadd:pytest。mark。run(order2)defteststocklist:defteststockreduce
1)teststock和testuser存在order冲突,所以按照文件名ascii顺序排序
2)teststockaddtestusercreateteststocklisttestuserdeleteorder相关teststockreducetestuserlogin需求:不要在多个文件中来回执行case,保证测试用例顺序为:用户模块订单模块库存模块
方式一:通过修改文件名,使得文件名ascii码排序,和测试case执行顺序一致,确保case中没有pytestorder插件test1user。py用户相关classTestUser:deftestusercreate:deftestuserlogin:deftestuserdeletetest2order。py订单相关classTestOrder:deftestordercreate:deftestorderlist:deftestorderdeletetest3stock。py库存相关classTestStock:defteststockadd:defteststocklist:defteststockreduce
通常情况下。py文件是根据模块去命名的,所以通过修改文件名实现预期的执行顺序,并不是很友好。
方式二:如果使用pytestorder插件控制,必须保证每个文件的order值是不能重复的,后一个。py文件order最小值必须大于前一个。py文件最大值,这样就可以确保文件执行顺序。这样在增加测试用例后,就可能需要修改很多order顺序。testuser。py用户相关classTestUser:pytest。mark。run(order1)deftestusercreate:pytest。mark。run(order3)deftestuserlogin:pytest。mark。run(order2)deftestuserdeletetestorder。py订单相关classTestOrder:pytest。mark。run(order4)deftestordercreate:pytest。mark。run(order5)deftestorderlist:pytest。mark。run(order6)deftestorderdeleteteststock。py库存相关classTestStock:pytest。mark。run(order7)defteststockadd:pytest。mark。run(order8)defteststocklist:pytest。mark。run(order9)defteststockreduce
方式三:通过pytest提供的勾子方法pytestcollectionmodifyitems,对case执行顺序进行修改conftest。pydefpytestcollectionmodifyitems(config,items)期望用例顺序按照。py文件执行appointclasses{TestUser:〔〕,TestOrder:〔〕,TestStock:〔〕}foriteminitems:forclsnameinappointclasses:ifitem。parent。nameclsname:appointclasses〔clsname〕。append(item)items。clear()forcasesinappointclasses。values():items。extend(cases)
用户只需要将其新增的测试模块class按照预期的顺序添加到appointclasses中即可,简单灵活。
为什么打桩机钻头掉了非要派水鬼捞上来?水鬼一次下井2万元,发生意外的话,能够赔偿100万,而且还带着一把刀,这刀究竟有什么作用?一个远房的表哥,曾经做过水鬼,现在改行了。他告诉我,水鬼不是一般人能做的。他的一番话,颠覆
国产车的性价比怎么样?性价比一直是国产车的优势,从字面意思上来看,性价比是指性能和价格之比,花越少的钱得到越多的性能,则就更具有性价比,而国产车一向是这样,与合资品牌汽车进行对比的话,同等价格能够买到更
芜湖让你最难忘的美食是什么?芜湖让人最难忘的美食1小笼汤包汤包是全国各地都有,但是芜湖的汤包经过了改良,没有扬州汤包那么甜,皮薄馅足,加上超多的汤汁,轻轻把皮咬一小口,慢慢的吸允汤汁,最后蘸上香醋,一口一个,
有哪些你曾经吃到,现在很难见到的美味吗?东哥下厨房,总有新花样。大家好,我是大东哥的小日子,一个好吃爱做的美食领域创作者。希望我的回答能对您有所帮助。有哪些曾经吃到过,但是现在很难见到过的美味?其实想起来好多好多有一些是
位于太原的世界第二大佛蒙山大佛神秘消失598年,怎么回事?太原还有座世界第二大佛?怎么会消失?我先来回答第一个问题,我们今天所说的主角就是位于太原晋源区蒙山的蒙山大佛,又叫西山大佛。可能很多人会疑问,蒙山大佛竟然这么有名?!是的,蒙山大佛
联想职工持股会持有的35股份到哪里去了?国有资产流失咱不谈,那个时候改制是全体企业员工持股,可是总经理利用自己的支配地位,把钱都倒腾走,用钱把职工的股份再买回来,最后这个企业成了自己家的,资本家的原罪在这里,地球离了谁都
有哪些是你们买完后悔的手机?1华为P10华为P10经过闪存门后的成为了一款被人们诟病的手机,也被称为一部坑人的手机。P10宣传了很久,造势很大,大家对P10的期待度也非常高,可从内存缩水屏幕没有疏油层到闪存门
华为带头人任正非与联想带头人柳传志相比,为什么承受非议较小?一华为带头人任正非走的是一条,为国家为中华民族复兴的科学技术兴国路线,大力投资科学技术,收揽科技人才。二联想带头人柳传志走的是一条买办资本家的路线,若大的联想集团,没有什么科学技术
冬季电动汽车,加热耗费电能巨大,dmi发动机不启动如何加热?DMi车辆有两套暖风系统内容概述燃油车暖风系统电动车暖风系统类似于DMiDMp的插电混动汽车有两套暖风系统,可以连接为并串联,并联指两套系统可以各自独立运行,串联指都使用防冻冷却液
为什么山西大学不在重庆招生呢?首先说题主提出的这个问题,还是很有意思的,说明题主比较关注山西大学情况。那么做为我们,解决了这个问题,对其他考生也有借鉴作用,可以帮助大家了解部分大学的招生计划的安排情况。我们先从
武汉某理工985本科生,同时拿了武汉天马微电子和华星光电的offer,该选哪个?以上两家公司是我决定从北京回武汉工作后的首选。为什么?因为我在外地干了将近10年液晶显示模组的工艺生产技术,就我了解湖北武汉目前只有这两家公司生产液晶模组,和我之前干的行业属于同行