Py.test: Get Keyboardinterrupt To Call Teardown
I am using py.test to write some tests and in my tests I utilize funcargs. These funcargs have their own setups and teardowns defined in the conftest.py like this: conftest.py: def
Solution 1:
You don't provide a full example so maybe i am missing something. But here is an example of how it can work, using the request.cached_setup() helper:
defpytest_funcarg__res(request):
defsetup():
print"res-setup"defteardown(val):
print"res-teardown"return request.cached_setup(setup, teardown)
deftest_hello(res):
raise KeyboardInterrupt()
If you run this with "py.test" you get:
============================= test session starts ==============================
platform linux2 -- Python 2.7.3 -- pytest-2.2.5.dev4
plugins: xdist, bugzilla, pep8, cache
collected 1 items
tmp/test_keyboardinterrupt.py res-setup
res-teardown
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
/home/hpk/p/pytest/tmp/test_keyboardinterrupt.py:10: KeyboardInterrupt
which shows that setup and teardown are called if a KeyboardInterrupt occurs during test execution.
Post a Comment for "Py.test: Get Keyboardinterrupt To Call Teardown"