Pytest----如何使用parametrize参数化对测试数据全排列组合测试

DevOps技术社区 2022-08-29 13:54:12

目录

  • 一、使用parametrize参数化对测试数据全排列组合测试

一、使用parametrize参数化对测试数据全排列组合测试

有时需要对所有数据进行排列组合测试,比如x,y,两个测试数据,期望x和y充分的组合测试,如下

test_demo.py代码如下:

import pytest


@pytest.mark.parametrize("x", [0, 1])
@pytest.mark.parametrize("y", [2, 3])
def test_foo(x, y):
    assert x<y

执行结果如下:

$ pytest -v
========================================================================= test session starts ==========================================================================
platform win32 -- Python 3.9.7, pytest-6.2.5, py-1.10.0, pluggy-1.0.0 -- D:\Python39\python.exe
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('D:\\src\\blog\\tests\\.hypothesis\\examples')
rootdir: D:\src\blog\tests, configfile: pytest.ini
plugins: allure-pytest-2.9.43, caterpillar-pytest-0.0.2, hypothesis-6.31.6, forked-1.3.0, rerunfailures-10.1, xdist-2.3.0
collected 4 items                                                                                                                                                       

test_demo.py::test_foo[2-0] PASSED                                                                                                                                [ 25%]
test_demo.py::test_foo[2-1] PASSED                                                                                                                                [ 50%]
test_demo.py::test_foo[3-0] PASSED                                                                                                                                [ 75%]
test_demo.py::test_foo[3-1] PASSED                                                                                                                                [100%]

========================================================================== 4 passed in 0.13s ===========================================================================
...全文
159 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档介绍了一种基于Simulink的永磁同步电机(PMSM)转速控制仿真模型,重点实现了“超螺旋滑模控制器”与“有限时间扩张状态观测器(FTESO)”相结合的先进控制策略。该方法通过FTESO在有限时间内快速收敛并实时估计系统内部动态与外部扰动,结合超螺旋滑模控制实现无颤振的高精度转速跟踪,有效提升了电机在复杂工况下的动态响应性能与抗干扰能力。同时,系统支持转动惯量等关键参数的在线辨识,增强了控制系统的自适应性与鲁棒性。作为“顶刊复现”系列科研资料之一,本资源聚焦于现代非线性控制理论在电机驱动系统中的仿真验证与工程应用。; 适合人群:自动化、电气工程、控制科学与工程等相关专业的研究生、科研人员及具备一定MATLAB/Simulink基础的高年级本科生。; 使用场景及目标:① 深入学习和掌握滑模控制、扩张状态观测器(ESO)、自抗扰控制(ADRC)等现代非线性控制理论在永磁同步电机系统中的具体实现方法;② 复现高水平学术论文中的先进控制算法,提升科研仿真能力与理论转化实践的能力;③ 为高性能电机控制、扰动抑制、参数在线辨识等关键技术研究提供可靠的仿真平台与技术参考。; 阅读建议:建议读者首先研读相关控制理论的学术文献,深入理解超螺旋滑模与有限时间ESO的设计原理与数学基础,再结合Simulink模型逐模块分析其搭建逻辑与参数整定方法,重点关注扰动观测与前馈补偿的实现机制,并可通过设置不同负载扰动、参数突变等工况测试系统的鲁棒性与适应性。

32

社区成员

发帖
与我相关
我的任务
社区描述
围绕测试开发、Devops、软件工程等方向,学习交流,共享技术新动态、新方向。求助工作中的问题,困惑等,互相交流,共同成长
软件工程测试工具devops 技术论坛(原bbs) 江苏省·南京市
社区管理员
  • redrose2100
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

1、社区话题和文章主要围绕DevOps技术栈

2、有广告需求请联系微信 Redrose2100

 

试试用AI创作助手写篇文章吧