pytest-relaxed provides 'relaxed' test discovery for pytest.
Has it ever felt strange to you that we put our tests in tests/, then name the
files test_foo.py, name the test classes TestFoo, and finally name the test
methods test_foo_bar? Especially when almost all of the code inside of tests/
is, well, tests?
This pytest plugin takes a page from the rest of Python, where you don't have
to explicitly note public module/class members, but only need to hint as to
which ones are private. By default, all files and objects pytest is told to
scan will be considered tests; to mark something as not-a-test, simply prefix
it with an underscore.
A tiny library to facilitate visitor implementation in Python (which are
slightly peculiar due to dynamic typing). In fact, it is so small, you may just
be better off copy and pasting the source straight into your project.
so it will show a stack dump of all threads running at the time. This is useful
when running tests under a continuous integration server or simply if you don't
know why the test suite hangs.
Note that while by default on POSIX systems py.test will continue to execute
the tests after a test has timed, out this is not always possible. Often the
only sure way to interrupt a hanging test is by terminating the entire process.
As this is a hard termination (os._exit()) it will result in no teardown, JUnit
XML output etc. But the plugin will ensure you will have the debugging output
on stderr nevertheless, which is the most important part at this stage.