在尝试使单元测试(使用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”
文档有错吗?我是否遗漏了一些没有正确设置环境的内容?