5

在尝试使单元测试(使用py.test)更通用的同时,我正在以编程方式生成测试我有一个函数,可以导出测试结束时保持的参数和不变量。

现在为了保持整洁,我还希望通过考试的ID。查看pytest I的官方(?)文档注意:

导入pytest从datetime导入datetime,timedelta# ...@pytest.mark.parametrize(“a,b,应为”[pytest.param(日期时间(2001,12,12),日期时间(2001,12,11),时间增量(1),id=“向前”),pytest.param(日期时间(2001,12,11),日期时间(2001,12,12),时间增量(-1),id=“向后”),])def test_timedistance_v3(应为a、b):差异=a-b应为assert diff==

在示例中显示参数化的不同方法.

上面的方法正是我想要做的(为每个参数集提供参数和ID):我的函数只输出一个列表pytest.param公司物体。然而,当我运行上述代码片段(或来自pytest.org的完整代码片段)时,我得到了以下错误(pycharme ide也强调了这个语法错误):

E AttributeError:模块“pytest”没有属性“param”

文档有错吗?我是否遗漏了一些没有正确设置环境的内容?

1答案1

重置为默认值
7

pytest.param公司只有最近实施。要使用它,请确保您正在使用py.test测试版本3.1.0或更高版本。

pip安装-U“pytest>=3.1.0”
0

你的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.