У меня есть несколько тестов, написанных с использованием pytest и арматуры, например:
class TestThing:
@pytest.fixture()
def temp_dir(self, request):
my_temp_dir = tempfile.mkdtemp()
def fin():
shutil.rmtree(my_temp_dir)
request.addfinalizer(fin)
return my_temp_dir
def test_something(self, temp_dir)
with open(os.path.join(temp_dir, 'test.txt'), 'w') as f:
f.write('test')
Это отлично работает, когда тесты вызывают из оболочки, например
$ py.test
но я не знаю, как их запускать из сеанса python/ipython; например,
tt = TestThing()
tt.test_something(tt.temp_dir())
temp_dir
потому что temp_dir
требует temp_dir
объекта request
. Итак, как вы вызываете прибор с request
объектом?