繁体   English   中英

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

[英]Is pytest tmpdir only associated with function parameters?

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

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

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

test_method() 正好需要 2 个参数(给定 1 个)”

我的代码:

import pytest

class class_test(TestCase):

    def test_method(self,tmpdir):
        # code

请帮忙。

如此处的文档中所述您必须在initdir函数上添加tmpdir参数。 这样initdir夹具函数将用于类的所有方法

例子:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM