Test discovery failure when tests in different directories are called the same

前端 未结 4 396
旧巷少年郎
旧巷少年郎 2020-12-13 12:06

Using py.test, two tests called the same in different directory causes py.test to fail. Why is that? How can I change this without renaming all the tests?

To duplica

4条回答
  •  时光说笑
    2020-12-13 12:41

    This is an actual feature of py.test. You can find the reason for this behavior stated in pytest.org - Good Integration Practices - Choosing a test layout / import rules:

    • avoid __init__.py files in your test directories. This way your tests can run easily against an installed version of mypkg, independently from if the installed package contains the tests or not.

    As that's the recommended workflow of working with py.test: install the package under development with pip install -e, then test it.

    Because of this, I myself opt for unique test names, in the convention over configuration manner. It also ensures that you don't get ambiguous test names in the various test run output.

    If you need to keep the test names and don't care about the above mentioned functionality, you should be ok with putting an __init__.py.

提交回复
热议问题