Я использую py.test для тестирования.tmpdir in py.test setup_class
В setup_class() мне нужно использовать TmpDir для моего конструктора класса:
class TestMyClass:
def setup_class(self):
self.t = MyClass(path=tmpdir)
def test_test(self):
assert True
И у меня есть ошибка:
NameError: name 'tmpdir' is not defined
Я не могу использовать setup_class(self, tmpdir)
.
Если я использую этот код:
def test_needsfiles(tmpdir):
print(tmpdir)
assert 0
Это работа, но мне нужно TMPDIR в моем конструктор класса.
Как это сделать?
Спасибо!
UPD
Я пытаюсь сделать это:
@pytest.yield_fixture()
def constructor(tmpdir):
_t = MyClass(path=str(tmpdir))
yield _t
class TestMyClass:
def test_test(self, constructor):
pass
Но я не могу использовать в области действия прибора:
ScopeMismatch: You tried to access the 'function' scoped fixture 'tmpdir' with a 'module' scoped request object, involved factories
thx, но вопрос о ** py.test ** – tim