当前位置:网站首页>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 )
边栏推荐
- CorelDRAW Graphics Suite2022免费图形设计软件
- Websites that it people often visit
- 万卷共知,一书一页总关情,TVP读书会带你突围阅读迷障!
- 阿里云polkit pkexec 本地提权漏洞
- Pytorch-Yolov5从0运行Bug解决:
- LeetCode-对链表进行插入排序
- GeoTrust ov multi domain SSL certificate is 2100 yuan a year. How many domain names does it contain?
- Binary tree problem solving (1)
- There is no prompt for SQL in idea XML, and the dialect setting is useless.
- CY7C68013A之keil编译代码
猜你喜欢
A summary of common interview questions in 2022, including 25 technology stacks, has helped me successfully get an offer from Tencent
C language practice - number guessing game
Hcip day 17
Free drawing software recommended - draw io
Learn what definitelytyped is through the typescript development environment of SAP ui5
What data does the main account of Zhengda Meiou 4 pay attention to?
CY7C68013A之keil编译代码
Spring moves are coming. Watch the gods fight
2022-003arts: recursive routine of binary tree
What methods should service define?
随机推荐
GeoTrust ov multi domain SSL certificate is 2100 yuan a year. How many domain names does it contain?
geotrust ov多域名ssl證書一年兩千一百元包含幾個域名?
The solution to the complexity brought by lambda expression
【ClickHouse】How to create index for Map Type Column or one key of it?
Design and implementation of general interface open platform - (44) log processing of API services
Social media search engine optimization and its importance
A summary of common interview questions in 2022, including 25 technology stacks, has helped me successfully get an offer from Tencent
idea自动导包和自动删包设置
How to recover deleted data in disk
Exposure X8标准版图片后期滤镜PS、LR等软件的插件
Pytorch-Yolov5从0运行Bug解决:
面试会问的 Promise.all()
There is no prompt for SQL in idea XML, and the dialect setting is useless.
Common sense of cloud server security settings
ThinkPHP kernel work order system source code commercial open source version multi user + multi customer service + SMS + email notification
Exposure X8 Standard Version picture post filter PS, LR and other software plug-ins
UNET deployment based on deepstream
Arbre binaire pour résoudre le problème (2)
Online incremental migration of DM database
VMware installation win10 reports an error: operating system not found