pytest插件,用于用默认iterable参数化测试。

pytest-parametrized的Python项目详细描述


imageimageimageimageimageimageimageimageimage

Pytest plugin对于使用默认iterable参数化测试, 为pytest.mark.parametrize提供替代语法。

用法

用iterable默认值修饰测试。

功能

fromparametrizedimportparametrized@parametrizeddeftest(name=values,...):"""test single parametrized arg with each value"""@parametrized.zipdeftest(name=values,name1=values1,...):"""test parametrized args with zipped values"""@parametrized.productdeftest(name=values,name1=values1,...):"""test parametrized args with cartesian product of values"""

前后压缩示例:

@pytest.mark.parametrize("test_input,expected",[("3+5",8),("2+4",6),("6*9",42),])deftest_eval(test_input,expected):asserteval(test_input)==expected@parametrized.zipdeftest_eval(test_input=("3+5","2+4","6*9"),expected=(8,6,42)):asserteval(test_input)==expected

示例前后的产品:

@pytest.mark.parametrize("x",[0,1])@pytest.mark.parametrize("y",[2,3])deftest_foo(x,y):pass@parametrized.productdeftest_foo(x=(0,1),y=(2,3)):pass

固定装置

Parametrized fixtures返回参数。

fixture_name=parametrized.fixture(*params,**kwargs)

示例前后:

@pytest.fixture(params=[0,1],ids=["spam","ham"])defa(request):returnrequest.parama=parametrized.fixture(0,1,ids=["spam","ham"])

安装

$ pip install pytest-parametrized

注意parametrized可以通过在conftest.py中将其注册为插件来添加到pytest的命名空间中。

pytest_plugins='parametrized',...

然而,pytest鼓励importing modules explicitly

测试

100%分行覆盖。

$ pytest [--cov]

更改

1.1

  • Pytest 4兼容性

1.0

  • parametrized关键字选项

0.2

  • fixture关键字选项

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Windows 7 64位上运行Jive Dev Enrivoment的java   Java/C/C++/C#/PHP到Pascal的转换器?   java将字符串列表转换为单个对象   java SimpleAdapter,spinner中的文本和图像   java当客户端返回时,有状态会话bean如何恢复状态?   JavaWebLogic。jdbc。包装纸。无法将数组\u oracle\u sql\u数组强制转换为oracle。sql。大堆   java MySQL/Hibernate检索列映射为LocalTime的错误数据   java如何检测页面中是否包含句子(模糊)?   java如何在springboot框架中验证wsdl   JTextPane中的java双列表项插入   java根据窗口大小调整JScrollPane的大小   sql如何在java中映射VARCHAR2(5)的类型表?   用于生成Cron表达式的java类型转换   如何将基于spring注释的Hibernate代码迁移到JavaEE   java对象作为参数?   JavaSeleniumWebDriver:在许多输入中设置值的更快方法