未找到 pytest 固定装置“狗”

勒·柯布西耶

举例来说,我正在使用 pytest 调用以下代码

class Dog:
   def __init__(self, name, age, breed):
        self.name = name
        self.age = age
        self.breed = breed

def test_dog_age(dog):
    dog_age = dog.age
    assert dog_age == 7
    
if __name__ == '__main__':
    dog1 = Dog('rex', 7, 'labrador')
    test_dog_age(dog1)

我收到一条错误消息

E fixture 'dog' not found available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace,monkeypatch, pytestconfig, record_property, record_testsuite_property, record_xml_attribute, recwarn, tmp_path, tmp_path_factory, tmp_path_factory, 使用testpath]' 寻求帮助。

憨豆先生不来梅

为了更清楚地说明这一点:pytest 基本上通过收集它找到的所有测试、应用定义的所有夹具和钩子并执行测试来工作。

在您的情况下,您的测试将类似于:

def test_dog_age():
    dog = Dog('rex', 7, 'labrador')
    assert dog.age == 7

你会pytest在命令行调用来执行测试。您也可以使用特定的测试文件调用它,例如pytest test_dog.py.

您添加到测试函数的任何参数都作为测试夹具处理,如果没有找到具有该名称的夹具(仅按名称查找夹具),则会出现上述错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章