是根据参数化装饰器的顺序执行的。当一个测试类中的方法使用了参数化装饰器时,pytest会根据参数化装饰器的参数生成多个实例,并按照参数化装饰器的顺序执行这些实例。
具体来说,pytest参数化类方法执行顺序如下:
- pytest首先会根据参数化装饰器的参数生成多个实例。如果参数化装饰器的参数是一个列表或元组,那么每个元素都会生成一个实例。如果参数化装饰器的参数是一个字典,那么每个键值对都会生成一个实例。
- pytest会按照参数化装饰器的顺序执行这些实例。也就是说,先执行第一个实例,然后执行第二个实例,依此类推。
- 在执行每个实例之前,pytest会执行测试类中的setUpClass方法(如果有的话)。setUpClass方法用于初始化测试类的环境。
- 在执行每个实例之前,pytest会执行测试类中的setUp方法(如果有的话)。setUp方法用于初始化每个实例的环境。
- 在执行每个实例之后,pytest会执行测试类中的tearDown方法(如果有的话)。tearDown方法用于清理每个实例的环境。
- 在执行每个实例之后,pytest会执行测试类中的tearDownClass方法(如果有的话)。tearDownClass方法用于清理测试类的环境。
总结起来,pytest参数化类方法执行顺序是先执行setUpClass方法,然后按照参数化装饰器的顺序执行每个实例,最后执行tearDownClass方法。在每个实例的执行过程中,会先执行setUp方法,然后执行测试方法,最后执行tearDown方法。
腾讯云相关产品和产品介绍链接地址:
- 云服务器(CVM):https://cloud.tencent.com/product/cvm
- 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
- 云原生容器服务(TKE):https://cloud.tencent.com/product/tke
- 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
- 物联网开发平台(IoT Explorer):https://cloud.tencent.com/product/iothub
- 移动推送服务(信鸽):https://cloud.tencent.com/product/tpns
- 云存储(COS):https://cloud.tencent.com/product/cos
- 区块链服务(BCS):https://cloud.tencent.com/product/bcs
- 腾讯云元宇宙:https://cloud.tencent.com/solution/virtual-universe