当前位置:网站首页>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 )
边栏推荐
- Deeply understand the concepts of synchronization and asynchrony, blocking and non blocking, parallel and serial
- unable to execute xxx. SH: operation not permitted
- win10 磁盘管理 压缩卷 无法启动问题
- Gin framework learning code
- Win10 disk management compressed volume cannot be started
- Mysql表insert中文变?号的问题解决办法
- office_ Delete the last page of word (the seemingly blank page)
- Thinkphp內核工單系統源碼商業開源版 多用戶+多客服+短信+郵件通知
- C语言猜数字游戏
- TypeScript函数详解
猜你喜欢

深圳打造全球“鸿蒙欧拉之城”将加快培育生态,优秀项目最高资助 1000 万元

WiFi 5GHz frequency

Alibaba cloud polkit pkexec local rights lifting vulnerability

Tawang food industry insight | current situation, consumption data and trend analysis of domestic infant complementary food market

Summary of common string processing functions in C language

unable to execute xxx. SH: operation not permitted

Pytoch --- use pytoch to predict birds

Pytoch --- use pytoch for image positioning

idea自动导包和自动删包设置

Mysql database learning
随机推荐
June book news | 9 new books are listed, with a strong lineup and eyes closed!
CY7C68013A之keil编译代码
Message mechanism -- message processing
How to modify data file path in DM database
Wechat applet calculates the distance between the two places
Beginner crawler - biqu Pavilion crawler
The solution to the complexity brought by lambda expression
6月书讯 | 9本新书上市,阵容强大,闭眼入!
阿里云polkit pkexec 本地提权漏洞
Binary tree problem solving (2)
【提高课】ST表解决区间最值问题【2】
Unit testing classic three questions: what, why, and how?
How to write a client-side technical solution
Pit encountered in win11 pytorch GPU installation
oracle 存储过程与job任务设置
Is it safe to open an account with first venture securities? I like to open an account. How can I open it?
Exposure X8 Standard Version picture post filter PS, LR and other software plug-ins
Mysql表insert中文变?号的问题解决办法
Wechat applet JWT login issue token
Idea automatic package import and automatic package deletion settings