当前位置:网站首页>Getting started with pytest -- description of fixture parameters
Getting started with pytest -- description of fixture parameters
2022-07-02 04:42:00 【Peng Yuyan in the testing industry】
fixture
Implement pre post
Parameters
scope -- Scope
function: function / Methods are executed before and after
The manual call method is to add fixture The name of
class: class After and before execution
The way to manually call is to add @pytest.mark.usefixtures(" Method name ")
Decorator
package/session: The whole project session After and before execution .
When session It only works on one .py File is equivalent to module
Generally, they will combine conftest.py File to implement
autouse -- Automatic execution
Default :False; If instead True, You don't need to call , In the corresponding scope, it will automatically execute
params -- Realize parameterization ( Data driven )
ids -- Parameters , It has to be with params Use it together , Alias the parameter
name -- to fixture names
yield
Data can be returned , similar return
, however return
You can't connect code later , and yield
Later, you can continue to write other code . So in “ After ” In operation , We are all used to yield
.
When scope
The value of is class
,autouse
The value of is False
when , How to call fixture
:
@pytest.mark.usefixtures(" Method name ")
params
For parameterization
For example, a use case needs to be used separately 3 Different data ( Equivalence classes and boundary values ) To test , If a use case code is written three times, it's a little stupid , Use this time params
This parameter can
explain :
1、params=read_yaml() --params= Method name (), call
2、exe_sql(request) Be careful , In brackets is request That's what the regulations say , No why?
3、request.param Call through read_yaml() Method to get the data , It is required to write like this , The above parameter is params, Here is param, It is required to write like this
4、exe_sql I used to print here print(request.param) Look at the , And then yield Of . To illustrate , Is to realize parameterization ( Data driven ), To emphasize directly, pass yield Method can pass the obtained value as a parameter to other methods
5、test_api() Method reference fixture, Pass in the method fixture Modified method name
Execution results :
You can see , Use case 2 is executed three times with test data .
ids
Not to be used alone , It has to be with params
Use it together , The function is to alias the parameter
Look at the execution result above
If your data is too long , Then the display here will be messy , At this time, you can use ids This parameter
Execution results :
name
The function is to give fixture
names
Up here we use fixture
The method of decoration is exe_sql
, If this method is long or you don't want to call it, call it by this name , You can use it name
to fixture
The method of modification is to change the name
Be careful : When you give fixture Method of decoration (exe_sql()) Yes name
After changing the name of the parameter , When calling use cases, you should use your changed name (db), Use the original method name (exe_sql) It's a mistake , Because I can't find it .
The following is the supporting information , For doing 【 software test 】 For our friends, it should be the most comprehensive and complete war preparation warehouse , This warehouse also accompanied me through the most difficult journey , I hope it can help you !
Last : It can be in the official account : Programmer Xiaohao ! Get a free copy of 216 Page software testing engineer interview guide document information . And the corresponding video learning tutorial is free to share !, It includes basic knowledge 、Linux necessary 、Shell、 The principles of the Internet 、Mysql database 、 Special topic of bag capturing tools 、 Interface testing tool 、 Test advanced -Python Programming 、Web automated testing 、APP automated testing 、 Interface automation testing 、 Testing advanced continuous integration 、 Test architecture development test framework 、 Performance testing 、 Safety test, etc. .
If my blog helps you 、 If you like my blog content , please “ give the thumbs-up ” “ Comment on ” “ Collection ” One button, three links ! Friends who like software testing , You can join our testing technology exchange group :779450660 There are various software testing resources and technical discussions )
边栏推荐
- win11安装pytorch-gpu遇到的坑
- 初学爬虫-笔趣阁爬虫
- Summary of common string processing functions in C language
- TypeScript函数详解
- Homework of the 16th week
- [C language] Dynamic Planning --- from entry to standing up
- Arbre binaire pour résoudre le problème (2)
- Yolov5 network modification tutorial (modify the backbone to efficientnet, mobilenet3, regnet, etc.)
- What data does the main account of Zhengda Meiou 4 pay attention to?
- 60后关机程序
猜你喜欢
Markdown编辑语法
cs架构下抓包的几种方法
The solution to the complexity brought by lambda expression
Alibaba cloud polkit pkexec local rights lifting vulnerability
[C language] basic learning notes
MySQL table insert Chinese change? Solution to the problem of No
What methods should service define?
June book news | 9 new books are listed, with a strong lineup and eyes closed!
Embedded-c language-8-character pointer array / large program implementation
Websites that it people often visit
随机推荐
Homework of the 16th week
I sorted out some basic questions about opencv AI kit.
二叉树解题(一)
The core idea of performance optimization, dry goods sharing
TypeScript类的使用
Websites that it people often visit
初学爬虫-笔趣阁爬虫
【ClickHouse】How to create index for Map Type Column or one key of it?
Arbre binaire pour résoudre le problème (2)
Landing guide for "prohibit using select * as query field list"
2022-003arts: recursive routine of binary tree
How to modify data file path in DM database
Is it safe to open an account with first venture securities? I like to open an account. How can I open it?
What methods should service define?
Markdown编辑语法
Pytoch --- use pytoch to predict birds
阿里云polkit pkexec 本地提权漏洞
cs架构下抓包的几种方法
Thinkphp內核工單系統源碼商業開源版 多用戶+多客服+短信+郵件通知
My first experience of shadowless cloud computer