gpt4 book ai didi

python - pytest tmpdir 是否仅与函数参数相关联?

转载 作者:行者123 更新时间:2023-12-04 16:45:57 24 4
gpt4 key购买 nike

有没有办法使用 pytest fixture tmrdir 编写类的测试方法?在文档中,它指定它可以与函数一起使用。
https://docs.pytest.org/en/latest/tmpdir.html

如果有一种方法可以为类中的测试方法传递 tmpdir 参数,您能否分享一个示例?

我尝试了以下操作,但出现错误,例如:


test_method() takes exactly 2 arguments (1 given)"



我的代码:
import pytest

class class_test(TestCase):

def test_method(self,tmpdir):
# code

请帮忙。

最佳答案

如文档中所写 here你必须添加 tmpdir 上的参数initdir 功能。
这样 initdir fixture 函数将用于类的所有方法

例子:

import unittest
import pytest

class Test_Temp(unittest.TestCase):
@pytest.fixture(autouse=True)
def initdir(self, tmpdir):
tmpdir.chdir() # change to pytest-provided temporary directory
tmpdir.join("samplefile.ini").write("# testdata")

def test_file content(self):
with open('samplefile.ini', 'r') as f:
assert f.read() == '# testdata' //True

关于python - pytest tmpdir 是否仅与函数参数相关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52433546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com