Test için py.test kullanıyorum.tmpdir py.test kurulum_class
setup_class() Benim sınıf yapıcısı için TMPDIR kullanmak gerekir yılında:
class TestMyClass:
def setup_class(self):
self.t = MyClass(path=tmpdir)
def test_test(self):
assert True
Ve bir hata var:
NameError: name 'tmpdir' is not defined
Ben setup_class(self, tmpdir)
kullanamazsınız.
def test_needsfiles(tmpdir):
print(tmpdir)
assert 0
Bu işi ama benim sınıf yapıcısı TMPDIR gerekir: Bu kodu kullanırsanız
.
Bu nasıl yapılır?
Teşekkürler!
UPD
Bunu deneyin:
@pytest.yield_fixture()
def constructor(tmpdir):
_t = MyClass(path=str(tmpdir))
yield _t
class TestMyClass:
def test_test(self, constructor):
pass
Ama fikstür kapsamları kullanamazsınız: Sen işlemek için tempfile
modülünü kullanabilirsiniz
ScopeMismatch: You tried to access the 'function' scoped fixture 'tmpdir' with a 'module' scoped request object, involved factories
thx, ancak soru hakkında ** py.test ** – tim