举例来说,我正在使用 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] 删除。
我来说两句