当前位置:网站首页>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 )
边栏推荐
- 【毕业季·进击的技术er】年少有梦,何惧彷徨
- Geotrust OV Multi - Domain Domain SSL Certificate rmb2100 per year contains several Domain names?
- Pytoch --- use pytoch to predict birds
- Beginner crawler - biqu Pavilion crawler
- Binary tree problem solving (2)
- 2022-003arts: recursive routine of binary tree
- unable to execute xxx. SH: operation not permitted
- Cannot activate CONDA virtual environment in vscode
- C语言猜数字游戏
- Record the bug of unity 2020.3.31f1 once
猜你喜欢

Hcip day 17

How to recover deleted data in disk

万卷共知,一书一页总关情,TVP读书会带你突围阅读迷障!

Common errors of dmrman offline backup

Record the bug of unity 2020.3.31f1 once

idea自動導包和自動删包設置

Free drawing software recommended - draw io

What methods should service define?
![[understand one article] FD_ Use of set](/img/57/276f5ef438adee2cba31dceeabb95c.jpg)
[understand one article] FD_ Use of set
![[C language] basic learning notes](/img/d2/1aeb2d37d97b9cfe4b21aa3ac37645.png)
[C language] basic learning notes
随机推荐
ThinkPHP kernel work order system source code commercial open source version multi user + multi customer service + SMS + email notification
Free drawing software recommended - draw io
powershell_ View PowerShell function source code (environment variable / alias) / take function as parameter
DMA Porter
Mouse events in JS
geotrust ov多域名ssl证书一年两千一百元包含几个域名?
Alibaba cloud polkit pkexec local rights lifting vulnerability
What are the rules and trading hours of agricultural futures contracts? How much is the handling fee deposit?
2022-003arts: recursive routine of binary tree
Thinkphp6 limit interface access frequency
My first experience of shadowless cloud computer
深圳打造全球“鸿蒙欧拉之城”将加快培育生态,优秀项目最高资助 1000 万元
C language practice - number guessing game
Record the bug of unity 2020.3.31f1 once
Mysql database learning
Pytorch---使用Pytorch进行鸟类的预测
What data does the main account of Zhengda Meiou 4 pay attention to?
Online incremental migration of DM database
Federal learning: dividing non IID samples according to Dirichlet distribution
GeoTrust ov multi domain SSL certificate is 2100 yuan a year. How many domain names does it contain?